@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');
html{margin:0; padding:0;}
body{margin:0; padding:0px; width:100%; height:100%; font-family: 'Poppins', Arial, sans-serif !important; background: #fff; background-repeat: no-repeat;}

a{color: #5a5959;}

ol {
    display: block;
    list-style-type: decimal;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
    unicode-bidi: isolate;
}	 

ul {    
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 15px;    
}	 

.bold{font-weight: bold;}
.linethrough {text-decoration: line-through;}
.yes_c{color:#02b30f;}
.no_c{color:#ffbe47;}
.inactive_c{color:#babbba;}

	.fontsize14{font-size: 14px;}

.grecaptcha-badge { visibility: hidden; }

/* ADMIN */
#gray{position: fixed; z-index: 12; top:0; left:0; width: 100%; height:100%; background: rgba(10,20,12,0.62); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); display: none; overflow-x: hidden; overflow-y: auto; padding-top:60px; padding-bottom:40px; box-sizing: border-box;}
/* Mobil viewport-fix: popup scroll-lock (a háttér ne csússzon a popup mögött) + a #gray a dinamikus viewportot kövesse (kevesebb rés/úszás a böngésző-sáv váltásakor). CSAK mobil. */
@media only screen and (max-width:767px){
	body.cc-scroll-lock{ position:fixed; left:0; right:0; width:100%; overflow:hidden; }
	#gray{ height:100dvh; }
	/* A gyökér háttere sötétzöld (footer-szín): ezt a böngésző a legalsó rétegként festi, így a
	   böngésző-sáv eltűnésekor alul felbukkanó „fehér lyuk" (a dokumentum alatti canvas) sötétzöld
	   lesz, beleolvad a sávba/footerbe – nem villan fehér. (A felső over-scroll bounce is ez lesz.) */
	html{ background:#1a2e1b; }
}

#cont{margin:0px auto; padding:0px; /*min-height:760px;*/ width:calc(100%); /* max-width:1600px; */  color:#5c5c5c;}

#a_header{float:left; position:relative; margin-top:0px; margin-bottom:0px; padding-top:4px; width:calc(100% - 0px); min-height:46px; box-sizing: content-box; background:#1a2e1b; box-shadow: 0 0 0px rgba(0, 0, 0, 0.15); border-bottom: 1px solid #f1f1f1;}
	#a_logo{float:left; position:relative; width:180px; padding:0px 5px; height:38px; margin-right:20px; margin-top: -2px;}
		#a_logo a{text-decoration: none;
		    font-weight: bold;
		    font-size: 32px;
		    font-family: 'Poppins', Arial, sans-serif;
		    background: linear-gradient(90deg, #02b30f, #028a0f);
		    -webkit-background-clip: text;		    
		    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
		    transition: transform 0.3s ease, text-shadow 0.3s ease;
		}
		#a_logo a:hover {
		    transform: scale(1.05);
		    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
		}
		
		#a_logo a span {
		    color: #02b30f;
		}
		
		#a_logo a span:first-child {
		    color: #e5a900;
		}
		
		#beta{color: #4f9eff; font-size:14px;}
		
	#a_search_form{position:relative; margin:0px auto; height:42px; width: 500px;}	
		#a_search_input{float:left; position:relative; margin-top:3px;}
			#a_search {
			    border: 1px solid #dddddd;
			    border-radius: 30px;
			    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239aa0a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/svg%3E") no-repeat 14px center; background-size:18px 18px;
			    height: 36px;
			    width: 500px;
			    padding: 6px 8px 6px 42px;
			    box-sizing: border-box;
			    vertical-align: middle;
			    transition: box-shadow .3s;
			    color: #5a5959;
			    font-size: 16px;
			    font-style: italic;
			    margin-right: 0px;
			}
			#a_search:focus{
			    outline: none;
			    border-color: #c9c9c9;
			    box-shadow: 0 1px 6px rgba(0,0,0,0.10);
			}
	#a_menu{display:none; position: absolute; padding: 8px; height: 34px; right: 2px; top: 4px}
		#a_menu a {float:left; position:relative;
		    background-color: #02b30f;
		    border: none;
		    color: #fff;
		    padding: 5px 14px;
		    border-radius: 0px;
		    text-decoration: none;
		    margin: 3px 4px;
		    font-family: 'Poppins', Arial, sans-serif;
		    font-size: 14px;
		    font-weight: bold;
		    cursor: pointer;
		    box-shadow: 3px 3px 3px #555;
		    -moz-box-shadow: 3px 3px 3px #555;
		    -webkit-box-shadow: 3px 3px 3px #555;
		}
		#a_menu_selected{background-color: #0487a5 !important; color:#fff;}
	
	#a_menu_ham_div{display: flex; align-items: center; position:absolute; right:10px; top:5px; width: auto; height: 40px; cursor: pointer;}
	#ca-mode-btn{display:none; width:36px; height:40px; background:none; border:none; padding:0; margin:0; cursor:pointer; color:inherit; font-size:inherit; font-weight:inherit; border-radius:0; box-shadow:none; -moz-box-shadow:none; -webkit-box-shadow:none; margin-right: 20px;}
		#a_menu_ham_div a{width: 36px; height: 100%;}
	#a_menu_mobil{display:none; width: 320px; max-width: 100%; position:absolute; right:0px; top:50px; background: #ffffff; border-bottom: 1px solid #d8dddf; z-index: 110;}
		#a_menu_mobil a{float: left; position: relative; width: 100%; height: 45px; padding-top: 10px; box-sizing: border-box;
		text-align: center; background: #1a2e1b; border-top: 1px solid #d8dddf; text-decoration:none; font-weight: 600; color:#fff;}
		#a_menu_mobil a:hover{background: #e5a900;}
		#a_menu_mobil a .a_menu_badge{display:inline-block; min-width:18px; height:18px; line-height:18px; padding:0 5px; margin-left:5px; border-radius:999px; font-size:11px; font-weight:700; color:#fff; box-sizing:border-box; vertical-align:middle;}
		#a_menu_mobil a .a_menu_badge_new{background:#e5342b;}   /* nyílt, senkihez sem rendelt (kezeletlen) témák – piros */
		#a_menu_mobil a .a_menu_badge_mine{background:#1e88e5;}  /* hozzám rendelt témák új, kezeletlen hozzászólásai – kék */

#a_messige{position:fixed; top:60px; left:50%; transform:translateX(-50%); z-index:9999; pointer-events:none; width:auto; min-width:260px; max-width:80%;}
	.a_mess{position:static; margin-bottom:8px; padding:8px 18px; text-align:center; border-radius:999px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.25); background:#86c974; color:#fff; font-weight:600; font-size:13px; line-height:1.3;
	animation: a_messige_show 4s ease forwards;
	}
	.a_error{position:static; margin-bottom:8px; padding:8px 18px; text-align:center; border-radius:999px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.25); background:#db7676; color:#fff; font-weight:600; font-size:13px; line-height:1.3;
	animation: a_messige_show 4s ease forwards;
	}
@keyframes a_messige_show{
	0%{opacity:0; transform:translateY(-10px);}
	12%{opacity:1; transform:translateY(0);}
	75%{opacity:1;}
	100%{opacity:0; transform:translateY(-10px);}
}
		
#a_cont{float:left; position:relative; padding-top:4px; padding-bottom:50px; width:calc(100% - 0px); min-height:700px; background: #fff;}
	/*#a_header{background: linear-gradient(270deg, #fffbe2, #ffffff); background-repeat: no-repeat;}
		
	.day-box {
	  background: linear-gradient(180deg, #fffbe2, #ffffff);
	  background-size: 2400px 750px;
	  background-clip: border-box;
	  background-repeat: no-repeat;
	}
	*/
	

	.a_inactive{color:#dadada !important;}	
		.a_inactive a{color:#dadada !important;}	
	
/* INPUTS */
.a_form_submit input[type=button], .a_form_submit input[type=submit], .a_form_submit input[type=reset], button {
  background-color: #02b30f;
  border: none;
  color: #fff;
  padding: 9px 30px;
  border-radius:20px;
  text-decoration: none;
  margin: 4px 2px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 3px 3px 3px #555;
    -moz-box-shadow: 3px 3px 3px #555;
    -webkit-box-shadow: 3px 3px 3px #555;
}

/* ESCAPE-HATCH: a fenti globális zöld-pirula <button>-szabály semlegesítése.
   Probléma: a csupasz `button` szelektor MINDEN <button>-re ráhúzza a
   háttér/padding/margó/border-radius/16px-bold/box-shadow-t, és amit egy új
   gomb-osztály nem ír felül KIFEJEZETTEN (jellemzően a padding), az átszivárog
   → felfújt/rosszul formázott gombok.
   Megoldás: az új, gomb-szerű elem kapja meg ELSŐ osztályként a `btn-reset`-et,
   ami tiszta lapra állít; a saját megjelenést a második osztály adja.
     <button class="btn-reset mo-valami">…</button>
   Specificitás: `.btn-reset` (0,1,0) > csupasz `button` (0,0,1) → mindig felülüti
   a zöld-pirulát. A saját osztály (szintén 0,1,0) forrás-sorrendben nyer, ha
   KÉSŐBB töltődik (külön css-fájl vagy oldalon belüli <style>) — így a reset csak
   az elfelejtett tulajdonságokat fogja, a szándékosan beállítottakat nem.
   FONTOS: ez ADDITÍV, a meglévő gombokat NEM érinti (egyik sem használja). */
.btn-reset{
  background: none;
  color: inherit;
  padding: 0;
  margin: 0;
  border-radius: 0;
  font-size: inherit;
  font-weight: normal;
  box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
}
.btn-reset:hover{ background: none; }

/* Étkezéshez/naphoz adó űrlap-gomb – a menü-kártya mo-btn-add dizájnja (világoszöld
   pill, zöld szöveg+keret, naptár-plusz ikon, hoverre teli zöld). Az add-popupok sima
   submit gombjai használják (pop_de_form, pop_search_cont_add). A saját stílusú gombok
   (dec-title-submit, rv-btn) helyben, a saját szabályukban kapják ugyanezt a palettát.
   Felülírja a fenti globális zöld-pill button-szabályt (osztály > elem specificitás). */
.cc-add-btn{
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 9px 18px; margin: 0;
	font-size: 14px; font-weight: 600; line-height: 1.2;
	color: #007d08; background: #ecfbed;
	border: 1.5px solid #d7f5d9; border-radius: 10px;
	box-shadow: none; cursor: pointer; text-decoration: none;
	transition: background .15s, border-color .15s, color .15s;
}
.cc-add-btn .cc-add-ico{ flex: 0 0 auto; }
.cc-add-btn:hover{ background: #00890a; border-color: #00890a; color: #fff; }

input[type=date], input[type=time], input[type=number], input[type=text], input[type=password]{
	padding: 10px 8px; border:1px solid #b9b9b9;
	border-radius: 0px;
	background: #fff;
	color: #5c5c5c;
}

.a_form_submit input[type=button]:hover, .a_form_submit input[type=submit]:hover, .a_form_submit input[type=reset]:hover, button:hover{background-color: #00cb0f;}

input[type=date]{}

select{
	padding: 10px 8px; border-color:#b9b9b9;
	border-radius: 0px;
	background: #fff;
	color: #5c5c5c;
	height: 40px;
}

/* TABLES */
.dataTables_length, .dataTables_filter{margin-bottom:5px;}

.dataTables_length, .dataTables_info{margin-left:10px;}

/* ── Modern lista-táblázat skin (minden #gTable / .styled-table örökli) ────────
   Lágy, lekerekített kártya a régi tömör zöld sáv + kemény árnyék helyett.
   border-collapse:separate kell a border-radius-hoz -> az elválasztók a td-kre
   kerülnek. A szűrősoron lévő inline background:#f1f1f1 felülírja a fejléc-
   gradienst, így nem kell külön azonosítani. */
.styled-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 auto 25px;
    font-size: 14px;
    min-width: 40px;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

/* Fejléc: halk zöld átmenet (a receptezés színe). CSAK az első (címsor) thead-re,
   különben a gradient a background-image-be kerül, és a szűrősor inline
   background-color:#f1f1f1-e nem tudná felülírni (más property). */
.styled-table thead:first-of-type tr {
    background: linear-gradient(180deg,#eef7ee 0%,#e2f0e3 100%);
    color: #3a6b3d;
    text-align: left;
}
.styled-table thead:first-of-type th {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
/* Szűrősor (2. thead): halk szürke, elüt a zöld címsortól */
.styled-table thead:nth-of-type(2) tr { background: #f6f6f6; }
.styled-table thead:nth-of-type(2) th { font-weight: normal; text-align: left; }
.styled-table thead:first-of-type tr:first-child th:first-child { border-top-left-radius: 12px; }
.styled-table thead:first-of-type tr:first-child th:last-child  { border-top-right-radius: 12px; }
.styled-table tbody tr:last-child td:first-child { border-bottom-left-radius: 12px; }
.styled-table tbody tr:last-child td:last-child  { border-bottom-right-radius: 12px; }

.styled-table th,
.styled-table td {
    padding: 9px 12px;
    z-index: 1;
}
.styled-table thead th { border-bottom: 1px solid #cfe4d0; }

/* Sorok: csíkozás helyett halk elválasztó + egységes zöldes hover */
.styled-table tbody tr,
.styled-table tbody tr:nth-of-type(even),
.styled-table tbody tr:nth-of-type(odd) { background: #fff; }
.styled-table tbody td { border-bottom: 1px solid #f2f2f2; }
.styled-table tbody tr:last-of-type td { border-bottom: none; }
.styled-table tbody tr:hover td,
.styled-table tbody tr:nth-of-type(even):hover,
.styled-table tbody tr:nth-of-type(odd):hover { background: #f6fbf6; }

.styled-table tbody tr.active-row {
    font-weight: bold;
    color: #009879;
}

/* Szűrősor beviteli mezői + "Szűrők törlése" gomb – egységesen minden gTable-n
   (a globális gomb-szabályt az ID-s szelektor üti) */
.styled-table thead select,
.styled-table thead input[type=text] {
    height: 30px;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 0 6px;
    font-size: 12px;
    background: #fff;
    box-sizing: border-box;
    max-width: 100%;
}
#con_list_form_sub {
    height: 30px;
    margin: 0;
    padding: 0 12px;
    background: #fff;
    color: #666;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 12px;
    font-weight: normal;
    text-transform: none;
    cursor: pointer;
    box-shadow: none;
    float: none;
}
#con_list_form_sub:hover { background: #fde8cc; border-color: #e0a060; color: #444; }

/* DataTables keret: hossz-választó, kereső, infó, lapozó */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter { font-size: 12px; color: #888; }
/* A min.css ≤767px-en float:none;text-align:center-t ad a length/filter-re (középre rakja őket).
   Id-specifikussal (a min.css a style.css UTÁN tölt) visszatesszük: length balra, filter jobbra,
   egy sorba – az infó/lapozó középen marad, ahogy van. */
#gTable_wrapper .dataTables_length{ float: left; text-align: left; }
#gTable_wrapper .dataTables_filter{ float: right; text-align: right; margin-top: 0; }
/* A DataTables saját CSS-e (jquery.dataTables.min.css) a style.css UTÁN tölt, és
   ezekre azonos specificitással border:1px #aaa; radius:3px-et ad -> #gTable_wrapper
   (id) emeli a specificitást, hogy a modern keret nyerjen. */
#gTable_wrapper .dataTables_length select,
#gTable_wrapper .dataTables_filter input {
    height: 25px; border: 1px solid #ddd; border-radius: 6px; padding: 0 8px;
    font-size: 12px; background: #fff; box-sizing: border-box; box-shadow: none;
}
.dataTables_wrapper .dataTables_info { font-size: 12px; color: #9a9a9a; padding-top: 10px; }
.dataTables_wrapper .dataTables_paginate { padding-top: 10px; }
.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 4px 10px !important; margin: 0 2px !important; border-radius: 6px !important;
    border: 1px solid #e6e6e6 !important; background: #fff !important; color: #666 !important;
    font-size: 12px; cursor: pointer;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #fde8cc !important; border-color: #e0a060 !important; color: #444 !important;
}
/* Az aktív lapszám: a DataTables saját CSS-e color:inherit !important-tal, AZONOS
   specificitással üti – ezért itt #gTable_wrapper-rel emeljük a specificitást (id). */
#gTable_wrapper .dataTables_paginate .paginate_button.current,
#gTable_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: #df7304 !important; border-color: #df7304 !important; color: #fff !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled { opacity: .35; cursor: default; }

/* Lista-linkek (név-cellák) aláhúzás nélkül minden gTable-n */
.styled-table tbody td a { text-decoration: none; }
/* Teljes cella kattintható (a JS a benne lévő első linket nyitja) */
.styled-table tbody td.cell-link { cursor: pointer; }

/* ── Eszközök-menü komponens (/constructs lista + /con_view) ──────────────────
   Alap megjelenés; a /constructs ikonsorában néhány szabályt az .a_icons kontextus
   miatt felül kell írni (lásd a_constructs.php). A JS a js.js-ben (consToolsToggle). */
.cons-tools{ position:relative; display:inline-flex; }
.cons-tools-btn{ cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.cons-tools-btn svg{ width:15px; height:15px; }
.cons-tools-menu{
	display:none; position:absolute; top:100%; right:0; z-index:50; margin-top:4px;
	min-width:172px; background:#fff; border:1px solid #e2e2e2; border-radius:8px;
	box-shadow:0 6px 22px rgba(0,0,0,0.16); padding:4px;
}
.cons-tools.open .cons-tools-menu{ display:block; }
.cons-tools-head{ display:flex; align-items:center; justify-content:space-between; padding:3px 8px 6px; border-bottom:1px solid #f0f0f0; margin-bottom:4px; }
.cons-tools-head span:first-child{ font-size:11px; font-weight:700; color:#999; text-transform:uppercase; letter-spacing:.03em; }
.cons-tools-x{ cursor:pointer; color:#bbb; font-size:16px; line-height:1; padding:0 2px; }
.cons-tools-x:hover{ color:#df7304; }
.cons-tools-menu a{ display:flex; align-items:center; justify-content:flex-start; gap:9px; padding:7px 10px; font-size:13px; color:#444; text-decoration:none; border-radius:5px; white-space:nowrap; cursor:pointer; }
.cons-tools-menu a:hover{ background:#f4f6f4; }
.cons-tools-menu a.cons-tools-del{ color:#c0392b; }
.cons-tools-menu a.cons-tools-del:hover{ background:#fdecea; }
.cons-tools-menu .cons-tool-ic{ width:15px; height:15px; flex-shrink:0; }

/* ── Jobb felső műveletsáv (con_view + con_share + criteria_view + kereső-nézet + admin)
   vissza-link a címsor magasságában, alatta eszközök-menü (ha van egyéb funkció) ── */
.cv-actions{ float:right; position:relative; margin-top:20px; margin-right:10px;
	display:flex; flex-direction:column; align-items:flex-end; }
.cv-back{
	display:inline-flex; align-items:center; gap:6px; margin:0 0 8px; padding:0px 4px 0px;
	font-size:15px; font-weight:bold; text-decoration:none !important;
	color:var(--d1-primary, oklch(0.58 0.16 40)) !important;
}
.cv-back svg{ width:17px; height:17px; transition:transform .15s ease; }
.cv-back:hover{ color:oklch(0.68 0.17 40) !important; }        /* szín-váltás, nem aláhúzás */
.cv-back:hover svg{ transform:translateX(-3px); }             /* a nyíl finoman balra */
.cv-tools-row{ display:inline-flex; align-items:center; justify-content:flex-end; gap:4px; cursor:pointer; }
.cv-tools-label{ font-size:13px; color:#8a8a8a; }
/* A gomb csak ikon; hoveren keret+háttér (transparent keret tartja a méretet),
   nyitott (aktív) állapotban narancs ikon. */
.cv-actions .cons-tools-btn{ width:auto; height:auto; padding:3px; box-sizing:border-box;
	color:#8a8a8a; background:none; border:1px solid transparent; border-radius:7px; }
.cv-tools-row:hover .cons-tools-btn{ background:#f0f0f0; border-color:#ddd; }
.cv-tools-row:has(.cons-tools.open) .cons-tools-btn{ color:#df7304; background:#fff3e8; border-color:#e0a060; }
/* Szerkesztő oldalak ragadós sávjában a vissza-link közvetlen flex-elem – nincs
   alsó margó, a sáv középre igazít. */
.acv_fixed_bar .cv-back{ margin:0; }

#gTable_length select{height:25px; border:1px solid #ddd; border-radius:6px;}

.a_icons{float: left; width: 100%; white-space: nowrap; display: flex; flex-wrap: wrap; gap: 10px; /*justify-content: space-between;*/}
	.a_icons a{float: left; margin-right: 0px; cursor: pointer;}
		.edit_icon{float: left; height:16px;}
		.link_icon{float: left; height:16px; margin-left:0px;}
		.del_span{float: left; height:16px; margin-left:12px;}
			.del_span a{text-decoration:none; font-weight: bold;}
		
/* FORMS */

.a_form_div{position:relative; margin: 0px auto; max-width:604px; margin-top:0px;}
		.a_form_row{float:left; position:relative; width:100%;}
			.a_form_row label{float:left; position:relative; width:100%; text-align: left; margin-top:24px; margin-bottom:2px; font-size: 14px; font-family: 'Poppins', Arial, sans-serif;}
			.a_form_row_gruop_label{text-align: center; font-weight:bold;}
			.a_form_row input{float:left; position:relative; width:calc(100% - 23px);}
			.a_form_row textarea{float:left; position:relative; width:calc(100% - 10px); height:50px;}
			.a_form_row select{float:left; position:relative; width:calc(100% - 5px);}			
		.a_form_row2{float:left; position:relative; width:100%;}
			.a_form_checks_t{float:left; position:relative; cursor: pointer; background:#02b30f; color:#fff; width:calc(100% - 20px); margin-top:24px; margin-bottom:2px; padding:8px 8px; border-radius:3px; border:0px solid #b9b9b9;}
				.a_form_checks_t label{float:left; position:relative; width:100%; cursor: pointer;}				
			.a_form_checks_d{float:left; position:relative; width:100%;}
		.a_form_submit{float:left; position:relative; width:100%; text-align:center;}	
			.a_form_submit input[type=submit]{float: none; margin-top:40px; width:auto;}
			
	.a_title{float:left; position:relative;
		background-color: #ffffff;
	    border: none;
	    color: #00890a;
	    padding: 6px 18px;
	    text-decoration: none;
	    margin: 8px -4px;
	    margin-top:20px;
	    font-size: 18px;
	    font-weight: 600;
	}
	/* Redizájn: a title elé egyedi inline SVG ikon, a title betűszínével (currentColor – inline vagy default zöld). */
	.a_title svg{ width:18px; height:18px; vertical-align:-2px; margin-right:7px; flex:0 0 auto; }
	.a_title_tri{float:left; position:relative;		
		border-top: 18px solid transparent;
	    border-bottom: 18px solid transparent;
	    border-left: 17px solid #f99b0d;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	    margin: 8px 4px;
	   }

	.acv_fixed_bar {
		position: sticky;
		top: 0;
		margin-left: 0px;
		z-index: 3;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: calc(100% - 2px);
		background: #fff;
		border-bottom: 1px solid #e0e0e0;
		padding: 15px 10px;
		box-sizing: border-box;
		box-shadow: 0 2px 6px rgba(0,0,0,0.07);
		transition: opacity .2s ease, visibility .2s ease;
	}
		/* Ha a lenti Mentés gomb (.acv_bottom_save) már látszik, a ragadós felső sáv elrejtődik */
		.acv_fixed_bar.acv-bar-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
		.acv_fixed_bar .a_back { float: none; }
		.acv_fixed_bar .a_back a {
			float: none;
			margin: 0;
			/*padding: 6px 12px;
			box-shadow: none;
			-moz-box-shadow: none;
			-webkit-box-shadow: none;*/
		}
		.acv_fixed_bar .a_title {
			float: none;
			margin: 0;
			/*padding: 4px 8px;
			font-size: 15px;
			box-shadow: none;
			-moz-box-shadow: none;
			-webkit-box-shadow: none;*/
		}
		.acv_fixed_bar_save input[type=submit] {
			background-color: #02b30f;
			border: none;
			color: #fff;
			padding: 7px 18px;
			margin: 0;
			border-radius: 50px;
			cursor: pointer;
			font-size: 16px;
			font-weight: bold;
			box-shadow: 3px 3px 3px #555;
		    -moz-box-shadow: 3px 3px 3px #555;
		    -webkit-box-shadow: 3px 3px 3px #555;
		}
		.acv_fixed_bar_save input[type=submit]:hover { background-color: #00cb0f; }

		/* Alsó Mentés gomb a recept-szerkesztő végén (a felső ragadós gombtól függetlenül) */
		.acv_bottom_save { clear: both; float: left; width: 100%; text-align: center; margin: 30px 0 46px; }
		.acv_bottom_save input[type=submit] {
			background-color: #02b30f; border: none; color: #fff;
			padding: 11px 44px; margin: 0; border-radius: 50px; cursor: pointer;
			font-size: 16px; font-weight: bold;
			box-shadow: 3px 3px 3px #555; -moz-box-shadow: 3px 3px 3px #555; -webkit-box-shadow: 3px 3px 3px #555;
		}
		.acv_bottom_save input[type=submit]:hover { background-color: #00cb0f; }

		.a_rapid_menu {
			    position: fixed;
			    top: 200px;
			    right: 0px; 
			    z-index: 109;  
			    border-top: 1px solid #ccc;  
			    border-left: 1px solid #ccc;  
			    border-bottom: 1px solid #ccc;  
			    border-radius: 10px 0px 0px 10px;
			    display: flex;
    			flex-wrap: wrap;
    			justify-content: space-between;      			
			    background-color: #fff;	
    			box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    			overflow: hidden; 	
			}	
			
			.a_rapid_menu_arrow {
			    width: 30px;
			    height: 100%; 
			    position: relative;  
			    height: auto;
   			    min-height: 100px;
   			    display: flex; 
			    align-items: center; 
			    justify-content: center; 
			    cursor: pointer;			   
			    background-color:#fff;
			    transition: transform 0.3s ease;
			    /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);*/
			}
			
				.a_rapid_menu_arrow svg{width: 30px; transform: rotate(180deg); /* SVG forgatása */	}
				
				
			
			.a_rapid_menu_cont {
			    display: block; 
			    height: auto;
   			    min-height: 100px;			    		    
			    padding: 5px;			    
			    width: 135px;  
			    margin-left: 0px;  
			    background-color:#fff;
			    
			}
	   
	   .a_rapid_menu_cont.show {
		    display: block;
		}
	   
	   .a_rapid_menu_cont div{width: 100%; margin-bottom:10px;}
	   .a_rapid_menu_cont div a{width:calc(100% - 54px); text-align:center;}
	
	.a_back_r{float:right; position:relative;}
	.a_back_r a{float:right; position:relative; background-color: #f7f3c0;
	    border: none;
	    color: #5c5c5c;
	    padding: 7px 18px;
	    border-radius: 3px;
	    text-decoration: none;
	    margin: 10px 10px;
	    margin-top: 22px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}   
	.a_back_r a:hover { background-color: #fbf9e0; }
	.a_new{float:right; position:relative;}
	.a_new a{float:right; position:relative; background-color: #e5a900;
	    border: none;
	    color: #fff;
	    padding: 7px 18px;
	    border-radius: 25px;
	    text-decoration: none;
	    margin: 10px 10px;
	    margin-top: 22px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 2px 2px 2px #555;
	    -moz-box-shadow: 2px 2px 2px #555;
	    -webkit-box-shadow: 2px 2px 2px #555;
	}
	/* Limit/számláló-jelzés (/constructs, /criterias): a cím és a lista/gTable KÖZÉ, balra – kikerült az .a_new-ból. */
	.a_limit_note{ float:left; clear:both; margin:-5px 0 -10px; padding-left:10px; font-size:12px; }
	.a_new a:hover {background-color: #fdbb00; color: #fff;}
	.a_new button{float:right; position:relative; background-color: #e5a900;
	    border: none;
	    color: #5c5c5c;
	    padding: 7px 18px;
	    border-radius: 3px;
	    margin: 10px 10px;
	    margin-top: 22px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}
	.a_share{float:right; position:relative;}
	.a_share a{float:right; position:relative; background-color: #be29d9;
	    border: none;
	    color: #fff;
	    padding: 7px 18px;
	    border-radius: 3px;
	    text-decoration: none;
	    margin: 10px 10px;
	    margin-top: 0px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}
	.a_share a:hover {background-color: #d93ef5; color: #fff;}
	
	.a_edit{float:right; position:relative;}
	.a_edit a{float:right; position:relative; background-color: #e5a900;
	    border: none;
	    color: #fff;
	    padding: 7px 18px;
	    border-radius: 3px;
	    text-decoration: none;
	    margin: 10px 10px;
	    margin-top: 0px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}
	.a_edit a:hover {background-color: #fdbb00; color: #fff;}
	
	.a_add button:hover { background-color: #99c7ff; color: #fff; }	
	.a_add button{float:right; position:relative; background-color: #4f9eff;
	    border: none;
	    color: #fff;
	    padding: 7px 11px;
	    border-radius: 3px;
	    margin: 10px 10px;
	    margin-top: 22px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}
	.b_add{text-align: center;}
	.b_add button:hover { background-color: #99c7ff; color: #fff; }	
	.b_add button{position:relative; background-color: #4f9eff;
	    border: none;
	    color: #fff;
	    padding: 9px 30px;
	    border-radius: 20px;
	    margin: 10px 10px;	    
	    font-size: 16px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}
	.a_new button:hover { background-color: #be29d9; color: #fff; }
	
	.a_copy{float:right; position:relative;}
	.a_copy a:hover { background-color: #99c7ff; color: #fff; }
	.a_copy a{float:right; position:relative; background-color: #4f9eff;
	    border: none;
	    color: #fff;
	    padding: 7px 18px;
	    border-radius: 3px;
	    text-decoration: none;
	    margin: 10px 10px;
	    margin-top: 0px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}
	.a_del{float:left; position:relative;}
	.a_del a{float:left; position:relative; background-color: #f74118;
	    border: none;
	    color: #fff;
	    padding: 7px 18px;
	    border-radius: 3px;
	    text-decoration: none;
	    margin: 10px 10px;
	    margin-top: 0px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}
	.a_unshare{float:right; position:relative;}
	.a_unshare a{float:right; position:relative; background-color: #c3deff;
	    border: none;
	    color: #5c5c5c;
	    padding: 7px 18px;
	    border-radius: 3px;
	    text-decoration: none;
	    margin: 10px 10px;
	    margin-top: 0px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}
	.a_unshare a:hover { background-color: #a0c8f5; color: #5c5c5c; }
	.a_restore{float:left; position:relative;}
	.a_restore a{float:left; position:relative; background-color: #f9ae9d;
	    border: none;
	    color: #5c5c5c;
	    padding: 7px 18px;
	    border-radius: 3px;
	    text-decoration: none;
	    margin: 10px 10px;
	    margin-top: 0px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}
	.a_restore a:hover { background-color: #f78f7a; color: #5c5c5c; }
	.a_lists{float:left; position:relative; width: 100%; margin-top:20px;}
	
	.a_back{float:right; position:relative;}
	.a_back a{float:right; position:relative; background-color: #f7f3c0;
	    border: none;
	    color: #5c5c5c;
	    padding: 7px 18px;
	    border-radius: 3px;
	    text-decoration: none;
	    margin: 10px 10px;
	    margin-top: 22px;
	    font-size: 14px;
	    font-weight: bold;
	    cursor: pointer;
	    box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	}
	
.a_form_checks_row_cat{float:left; position:relative; width:calc(100% - 14px); cursor:pointer; padding:4px 4px; background: #edffd6; border-radius:3px; border:1px solid #bbc9a9; margin-bottom:4px;}
.a_form_checks_row_p{float:left; position:relative; width:calc(100% - 24px); cursor:pointer; padding:4px 4px; background: #dadada; border-radius:3px; border:1px solid #b9b9b9; margin-bottom:4px; margin-left:10px;}
.a_form_checks_row_c{float:left; position:relative; width:calc(100% - 34px); cursor:pointer; padding:4px 4px; background: #ffffff; border-radius:3px; border:1px solid #b9b9b9; margin-bottom:4px; margin-left:20px;}
.a_form_checks_row_cat2{float:left; position:relative; width:calc(100% - 14px); cursor:pointer; padding:4px 4px; background: #edffd6; border-radius:3px; border:1px solid #bbc9a9; margin-bottom:4px;}
.a_form_checks_row_c2{float:left; position:relative; width:calc(100% - 34px); cursor:pointer; padding:4px 4px; background: #ffffff; border-radius:3px; border:1px solid #b9b9b9; margin-bottom:4px; margin-left:20px;}
	.fedo{position:absolute; top:0px; left:0px; float:left; width: 100%; height:100%;}

.tox-tinymce {border: 1px solid #b9b9b9 !important;}

/* SEARCH */
/*#a_search{	
	border: 1px solid #02b30f;
    background: #fff;
    height: 40px;
    width: 500px;
    padding: 6px 8px 6px 42px;
    box-sizing: border-box;
    vertical-align: middle;
    transition: box-shadow .3s;    
    color: #5a5959;
    font-size: 16px;
    font-style: italic;
    margin-right: 12px;}*/
    
#a_search_list{
	width: 498px;
    background: #ffffff;
    border-left: 1px solid #cfe3c8;
    border-right: 1px solid #cfe3c8;
    border-bottom: 1px solid #cfe3c8;
    border-radius: 12px;
    box-sizing: border-box;
    position: absolute;
    top:44px;
    left:0px;
    max-height: 500px;
    overflow: auto;
    display: none;
    z-index: 7;
    box-shadow: 0 10px 24px rgba(2,179,15,0.10), 0 3px 8px rgba(0,0,0,0.08);
}
/* Üres kereső-lenyíló ne látsszon (fókuszkor a JS fadeIn-eli, üresen csak egy fehér keretes csík lenne) */
#a_search_list:empty{ display: none !important; }
#a_search_list a {
    text-decoration: none;
    display: block;
}
.search_t {
    padding: 5px 8px;
    border-bottom: 1px solid #eee;
    min-height: 32px;
    line-height: 32px;
    color: #5a5959;
    font-size: 14px;
}
/* Kereső-lenyíló csoport-fejlécek (href nélküli <a>): márka-zöld bal akcentus, halvány háttér */
#a_search_list a:not([href]) .search_t{
    background: #f4f8f1 !important;
    border-left: 3px solid #02b30f;
    border-bottom: 1px solid #e3ede0;
    color: #5a6b57;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.5;
    min-height: 0;
    padding: 8px 10px;
}
/* Kattintható találatok: sima bal akcentus + finom átmenet, hoveren zöldes kiemelés narancs akcentussal */
#a_search_list a[href] .search_t{
    border-left: 3px solid transparent;
    transition: background .12s ease, border-color .12s ease, color .12s ease, padding-left .12s ease;
}
#a_search_list a[href]:hover .search_t{
    background: #eaf7e6;
    border-left-color: #f99b0d;
    color: #1f7a26;
    padding-left: 12px;
}
/* Utolsó sor alsó szegélye ne törje meg a lekerekített sarkot */
#a_search_list a:last-child .search_t{ border-bottom: 0; }

/* FILTEREK */
#fil_comps_div{float:left; position: relative; width:146px; margin-left:7px; margin-right:3px; margin-top: 4px;}
	#fil_comps_div select{width:146px; padding: 11.5px 8px; border: 1px solid #02b30f;}
#fil_laws_div{float:left; position: relative; width:146px; margin-left:3px; margin-right:7px; margin-top: 4px;}
	#fil_laws_div select{width:146px; padding: 11.5px 8px; border: 1px solid #02b30f;}
		
/* Stílus az input mező alatt megjelenő listához és címkékhez */
        #tag-list, .tag-list { 
            border: 1px solid #ccc; 
            border-top:0px;
            border-bottom:0px;
            max-height: 300px; 
            overflow-y: auto; 
            position: absolute;
            top: 81px;
            background-color: white;
            width: calc(100% - 7px);
            z-index: 1000;
        }
		
		#tag-list div, .tag-list div{cursor: pointer; padding:7px; width: calc(100% - 14px); border-bottom: 1px solid #ccc;}
			#tag-list div:hover, .tag-list div:hover{background: #d1f1c6;}
			
        .tag-container {           
            margin-bottom: 10px;
        }

        .tag {
            display: inline-block;
            background-color: #d1f1c6;
            padding: 5px;
            margin: 5px;
            border-radius: 3px;
        }

        .tag .remove-tag { 
            margin-left: 10px;
            padding-left: 10px; 
            border-left:1px solid #fff;
            font-size:20px;
            line-height:19px;
            font-weight:bold; 
            cursor: pointer; 
        }
		
		.criteria-row{margin-bottom: 10px; width: calc(100% - 28px) !important;}
		
		#cr_cats_div{width: calc(100% - 28px);}
		#cr_cats_div input[type="checkbox"]{float: none; width: auto; margin-right:5px;}
			#cr_cats_div_all{display: flex; align-items: center; font-size: 14px; margin-top: 5px; margin-bottom: 14px; padding-bottom: 9px; border-bottom: 1px solid #dadada;}
			#cr_cats_div_e div{float: left; position: relative;  display: flex; align-items: center; 
			margin-right: 10px; margin-bottom: 7px; padding: 3px; padding-left: 5px; padding-right: 9px; border-radius: 5px; background-color: #ebebeb; font-size: 14px;}
			
        .input-container {
           
        }

        #tag-input {
           
        }   		
   		
   		#ingredients-container{float: left; width: 100%; position:relative;}
   		.ingredient-row {float: left; width: 100%; position:relative;margin-bottom: 10px;}
   		
   		#ingredients-container .ingredient-row {
   		  width: calc(100% - 12px);
		  border: 1px solid #ddd;
		  margin-bottom: 20px;
		  padding: 5px;
		  background: #f9f9f9;
		  border-radius:10px;
		  cursor: grabbing;
		  -webkit-user-select: none;
		  user-select: none;
		  -webkit-touch-callout: none;
		  touch-action: none;
		}
		
		#ingredients-container .ingredient-row-orange{background: #ffe089;}
		#ingredients-container .co_item_locked{display:inline-block; padding: 4px 6px; font-size:14px; color:#444; min-width:120px;}
		
		#ingredients-container .ingredient-row:active {
		  cursor: grabbing;
		}
		
		#ingredients-container .ingredient-row.placeholder {
		  background: #c9ffce;
		  border: 2px dashed #aaa;
		}   			
   			#ingredients-container .ingredient-row .autocomplete-suggestions{top: 43px; width: calc(53% - 12px);}

		/* ── Hozzávaló "rögzített" (chip) nézet ─────────────────────────────
		   Rögzített sor: zöld keret + halványzöld háttér + csere ikon.
		   Chip módban megy a drag&drop (hosszan nyomva), szerkesztő módban nem.
		   touch-action: szerkesztő módban auto, chip módban pan-y -> az oldal
		   görgethető marad a hozzávaló-lista fölött is (mobil). */
		.ing-chip-view{display:none;} /* alapból rejtve mindenhol, csak .ing-chip soron jelenik meg */
		/* Csak a chip-módú konténerekre (construct/ + bevásárló mini lista) –
		   az admin recept-szerkesztő D&D-je marad a régi */
		#ingredients-container.ing-chips .ingredient-row,
		#ingredients-container-shop.ing-chips .ingredient-row{touch-action:auto; cursor:default;}
		/* Szerkesztő módban nincs húzás -> a fogantyú se látszódjon */
		#ingredients-container.ing-chips .ingredient-row .ics_drag,
		#ingredients-container-shop.ing-chips .ingredient-row .ics_drag{display:none;}
		#ingredients-container.ing-chips .ingredient-row.ing-chip .ics_drag,
		#ingredients-container-shop.ing-chips .ingredient-row.ing-chip .ics_drag{display:inline-block;}
		/* Chip módban a törlés csak szerkesztésbe visszaváltva érhető el */
		#ingredients-container.ing-chips .ingredient-row.ing-chip .row_del_button,
		#ingredients-container-shop.ing-chips .ingredient-row.ing-chip .row_del_button{display:none;}
		/* FONTOS: a húzás közbeni "szellem" a createGhost()-ban a <body> alá kerül, tehát
		   NINCS #ingredients-container őse. Ezért minden chip-szabály két szelektorral megy:
		   az id-s a listán belül nyer a #ingredients-container .ingredient-row ellen (bg/keret),
		   az id nélküli pedig a szellemet fogja meg (ott nincs mivel versenyeznie). */
		#ingredients-container .ingredient-row.ing-chip,
		#ingredients-container-shop .ingredient-row.ing-chip,
		.ingredient-row.ing-chip{
			background:#eafaf3;
			border:1px solid #38b888;
			touch-action:pan-y;
			display:flex;
			align-items:center;
			gap:8px;
			cursor:grab;
		}
		.ingredient-row.ing-chip > input,
		.ingredient-row.ing-chip > select,
		.ingredient-row.ing-chip > .autocomplete-suggestions,
		.ingredient-row.ing-chip > .ca_ing_group{display:none !important;}
		.ingredient-row.ing-chip .ing-chip-view{
			display:flex; align-items:center; gap:8px; flex:1 1 auto; min-width:0;
		}
		/* Sorrend tiket módban: csere ikon | szöveg | ..... | áthelyezés fogantyú.
		   A DOM-sorrend más (fogantyú elöl), ezért flex order-rel rendezzük át. */
		.ingredient-row.ing-chip .ing-chip-view{ order:1; }
		.ingredient-row.ing-chip .ics_drag{ order:2; margin-left:auto; float:none; display:inline-block; }
		.ingredient-row.ing-chip .ing-chip-swap{ order:1; }
		.ingredient-row.ing-chip .ing-chip-txt{ order:2; }
		.ingredient-row.ing-chip .row_del_button{ display:none; }

		/* A szöveg csak a saját hosszáig ér (nem tölti ki a sort) */
		.ingredient-row.ing-chip .ing-chip-txt{
			flex:0 1 auto; min-width:0; margin-left:0px; cursor:pointer;
			color:#155e45; font-size:14px;
			overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:4px 0;
		}
		/* Elöl az alapanyag neve (vastag), utána a mennyiség (normál) */
		.ingredient-row.ing-chip .ing-chip-name{font-weight:bold;}
		.ingredient-row.ing-chip .ing-chip-qty{font-weight:normal;}
		.ingredient-row.ing-chip .ing-chip-qty:not(:empty){margin-left:6px;}
		.ingredient-row.ing-chip .ing-chip-swap{
			flex:0 0 auto; cursor:pointer; color:#38b888; display:inline-flex; padding:2px;
		}
		.ingredient-row.ing-chip .ing-chip-swap svg{width:16px; height:16px;}
		/* Csoport-fejléc chip: marad a sárgás identitása */
		#ingredients-container .ingredient-row.ing-chip.ingredient-row-orange,
		.ingredient-row.ing-chip.ingredient-row-orange{background:#fff6dd; border-color:#e5a900;}
		.ingredient-row.ing-chip.ingredient-row-orange .ing-chip-txt{color:#8a6a00; font-weight:bold;}
		.ingredient-row.ing-chip.ingredient-row-orange .ing-chip-swap{color:#e5a900;}
   		
   			
        .co_item{width: calc(53% - 35px) !important; margin-right:10px;}
        /* Egységes alapanyag-választó legördülő (co_item + bevásárló extra/kamra).
           A pozíciót (left/top/width) JS állítja: mindig a mező alá, a mező bal
           széléhez igazítva. A felfelé mutató nyíl a ::before. A görgetés a belső
           .ac-scroll dobozon van, hogy a nyilat ne vágja le az overflow. */
        .autocomplete-suggestions {
            position: absolute;
            z-index: 1200;
            box-sizing: border-box;
        }
        .autocomplete-suggestions::before {
            content: '';
            position: absolute;
            top: -6px;
            left: 15px;
            width: 11px;
            height: 11px;
            background: #fff;
            border-left: 1px solid #d7e3d5;
            border-top: 1px solid #d7e3d5;
            border-top-left-radius: 3px;
            transform: rotate(45deg);
            z-index: 2;
        }
        .autocomplete-suggestions .ac-scroll {
            box-sizing: border-box;
            width: 100%;
            max-height: 210px;
            overflow-y: auto;
            background: #fff;
            border: 1px solid #d7e3d5;
            border-radius: 10px;
            box-shadow: 0 10px 26px rgba(0,0,0,0.14);
            padding: 5px;
        }
        .autocomplete-suggestion {
            cursor: pointer;
            padding: 8px 10px;
            border-radius: 7px;
            font-size: 13px;
            color: #2f3a2f;
            text-align: left;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .autocomplete-suggestion:hover {
            background: #e2f3dc;
        }
   		.co_quantity{width: calc(19% - 12px) !important; min-width:90px; margin-right:10px;}
   		.co_unit{width: calc(15% - 23px) !important; min-width:60px; margin-right:10px; padding: 9px 8px; height:37px;}

   		/* Alapanyag-név és mennyiség mezők placeholderje: dőlt + halványabb szürke */
   		.co_item::placeholder, .co_quantity::placeholder{ font-style: italic; color: #b3b3b3; }
   		.co_item::-webkit-input-placeholder, .co_quantity::-webkit-input-placeholder{ font-style: italic; color: #b3b3b3; }
   		.co_item::-moz-placeholder, .co_quantity::-moz-placeholder{ font-style: italic; color: #b3b3b3; opacity: 1; }
   		.co_item:-ms-input-placeholder, .co_quantity:-ms-input-placeholder{ font-style: italic; color: #b3b3b3; }

   		.row_del_button{
   			float:right;
		    background-color: #f53446;
		    border: none;
		    color: #fff;
		    padding: 7px 10px;
		    border-radius: 3px;
		    text-decoration: none;
		    margin: 4px 2px;
		    font-size: 12px;
		    font-weight: normal;
		    cursor: pointer;
		    box-shadow: none;
		    -moz-box-shadow: none;
		    -webkit-box-shadow: none;
		}
		
			.row_del_button:hover{background-color: #f97777;}

		/* Hozzávaló sor: a törlés csak egy piros "X" (recept-űrlap + bevásárló mini lista) */
		#ingredients-container .row_del_button,
		#ingredients-container-shop .row_del_button{
			background-color: transparent;
			color: #f53446;
			font-size: 18px;
			font-weight: bold;
			line-height: 1;
			padding: 4px 6px;
		}
		#ingredients-container .row_del_button:hover,
		#ingredients-container-shop .row_del_button:hover{background-color: transparent; color: #c81e2e;}

		/* Tiket <-> szerkesztés váltás és törlés animációja (max 0.5 mp) */
		@keyframes ingRowFlip{
			from{ opacity:.3; transform:scale(.985); }
			to  { opacity:1;  transform:scale(1); }
		}
		@keyframes ingRowOut{
			from{ opacity:1; transform:translateX(0); }
			to  { opacity:0; transform:translateX(-28px); }
		}
		.ing-chips .ingredient-row.ing-flip{ animation: ingRowFlip .22s ease-out; }
		.ing-chips .ingredient-row.ing-removing{
			animation: ingRowOut .22s ease-in forwards; pointer-events:none;
		}
		@media (prefers-reduced-motion: reduce){
			.ing-chips .ingredient-row.ing-flip,
			.ing-chips .ingredient-row.ing-removing{ animation-duration: .01ms; }
		}

		/* Felugró "Törlés visszavonása" címke (3 mp). A helyét JS méri ki a törölt
		   sor pozíciójából (ingUndoShow) – jobbra, a törlés gomb közelébe. */
		/* #sl_undo_bar = Megvéve / Van itthon visszavonása; #shp_undo_bar = a mini lista sor-törlése */
		#ing_undo_bar, #sl_undo_bar, #shp_undo_bar{ position: fixed; z-index: 99999; display: none; }
		#ing_undo_bar button, #sl_undo_bar button, #shp_undo_bar button{
			background: oklch(0.58 0.16 40); color: #fff; border: none; border-radius: 6px;
			padding: 6px 12px; font-size: 13px; line-height: 1.3; cursor: pointer;
			white-space: nowrap; box-shadow: 0 3px 10px rgba(0,0,0,.28);
			animation: ingUndoIn .15s ease-out;
			overflow: hidden; text-overflow: ellipsis; /* max-width-et a JS ad (viewport szerint) */
		}
		#ing_undo_bar button:hover, #sl_undo_bar button:hover, #shp_undo_bar button:hover{background: oklch(0.64 0.16 40);}
		@keyframes ingUndoIn{
			from{ opacity:0; transform:translateY(-4px); }
			to  { opacity:1; transform:translateY(0); }
		}
		
		#addIngredientBtn{
			float: left;
		    background-color: #4f9eff;
		    border: none;
		    color: #fff;
		    padding: 7px 10px;
		    border-radius: 3px;
		    text-decoration: none;
		    margin: 4px 2px 16px 2px;
		    font-size: 16px;
		    font-weight: normal;
		    cursor: pointer;
		    box-shadow: 3px 3px 3px #555;
		    -moz-box-shadow: 3px 3px 3px #555;
		    -webkit-box-shadow: 3px 3px 3px #555;
		    /*display: block;
		    clear: both;*/
		}
		#addIngredientBtn:hover{background-color: #99c7ff;}
		
		#addIngredientGroupBtn{
			float:right;
		    background-color: #e5a900;
		    border: none;
		    color: #fff;
		    padding: 7px 10px;
		    border-radius: 3px;
		    text-decoration: none;
		    margin: 4px 2px;
		    font-size: 16px;
		    font-weight: normal;
		    cursor: pointer;
		    box-shadow: 3px 3px 3px #555;
		    -moz-box-shadow: 3px 3px 3px #555;
		    -webkit-box-shadow: 3px 3px 3px #555;
		}
		#addIngredientGroupBtn:hover{background-color: #fdbb00;}
		
		#ingredients-container-shop{float: left; width: 100%; position:relative;}
   		/*.ingredient-row-shop {float: left; width: 100%; position:relative;margin-bottom: 10px;}*/
   		#ingredients-container-shop .ingredient-row {
   		  width: calc(100% - 12px);
		  border: 1px solid #ddd;
		  margin-bottom: 12px;
		  padding: 5px;
		  background: #f9f9f9;
		  border-radius:10px;
		  cursor: grabbing;
		  -webkit-user-select: none;
		  user-select: none;
		  -webkit-touch-callout: none;
		  touch-action: none;
		}
		
		#ingredients-container-shop .ingredient-row:active {
		  cursor: grabbing;
		}
		
		#ingredients-container-shop .ingredient-row.placeholder {
		  background: #c9ffce;
		  border: 2px dashed #aaa;
		}
		
		.ca_ing_group{float:left; height:37px; line-height: 37px; margin-right:5px; color:#000000; font-weight:normal;}
		
   			.ics_drag{float: right; width:10px; height:30px; line-height:30px; margin-top:0px; margin-left:3px; margin-right:6px; touch-action:none; user-select:none; cursor:grab;}
   				.ics_drag img {pointer-events: none;}
   			.co_quantity_shop{width: calc(20% - 38px) !important; min-width:90px; margin-right:10px;}
   			#ingredients-container-shop .ingredient-row .autocomplete-suggestions{top: 43px; width: calc(53% - 12px);}
  
	.a_view_div{position:relative; margin: 0px auto; max-width:800px; width:100%; margin-top:0px;}
		.a_view_row{float:left; position:relative; box-sizing: border-box; width:calc(100%); max-width:calc(100%); border:1px solid #efefef; border-radius:10px; background: #fff;
		padding:15px; padding-top:18px; padding-bottom:18px; margin-bottom:20px; overflow: hidden;
		box-shadow: 3px 3px 3px #cdcdcd;
	    -moz-box-shadow: 3px 3px 3px #cdcdcd;
	    -webkit-box-shadow: 3px 3px 3px #cdcdcd;
		}
		/* Recept-leírás (TinyMCE HTML) bekezdés-tördelése a nézetben: a szerkesztő iframe-jében van margó a <p>-n, a nézetben viszont hiányzott a sorköz. Csak az .a_view_row-beli <p>-re (= a leírás) hat. */
		.a_view_row p { display: block; margin: 0 0 0.9em; }
		.a_view_row p:last-child { margin-bottom: 0; }
		/* Recept-leírás listái (TinyMCE ul/ol/li): a nézetben ugyanúgy hiányzott a tagolás, mint a bekezdéseknél – itt pótoljuk a behúzást és a sorközt */
		.a_view_row ul, .a_view_row ol { display: block; margin: 0 0 0.9em; padding-left: 26px; }
		.a_view_row ul:last-child, .a_view_row ol:last-child { margin-bottom: 0; }
		.a_view_row li { display: list-item; margin: 0 0 0.4em; line-height: 1.55; }
		.a_view_row li:last-child { margin-bottom: 0; }

		/* Recept-kereső (fogás hozzáadás) placeholder: dőlt */
		#searchInput::placeholder { font-style: italic; }
		#searchInput::-webkit-input-placeholder { font-style: italic; }
		#searchInput::-moz-placeholder { font-style: italic; opacity: 1; }
		#searchInput:-ms-input-placeholder { font-style: italic; }
		.cv_pop_edit_btn {
		    position: absolute; top: 18px; right: 12px;
		    color: #bbb; font-size: 12px; cursor: pointer;
		    display: inline-block; line-height: 1;
		}
		.cv_pop_edit_btn:hover { color: #555; }

			.a_view_name{float: left; margin:0px; font-size: 24px; line-height: 28px; width: 82%;}
			.a_view_dose{float: right; margin:0px; font-size: 24px; line-height: 28px; width: 18%; text-align:right;}
				.a_view_trying{float: left; font-weight: normal; font-size: 14px; line-height: 18px; color: #afafaf; margin-top:15px; width: 50%;}
				.a_view_trying.tried{color: #4f9eff;}
				.a_view_rank{float: right; font-weight: bold; font-size: 18px; line-height: 28px; color: #b08828; margin-top:0px; width: 9%; text-align:right;}
				.a_view_cat{float: left; font-weight: bold; font-size: 18px; line-height: 18px; color:#02b30f; margin-top:0px; width: 50%;} 
				.a_view_ctime{float: right; font-weight: bold; font-size: 18px; line-height: 18px; color:#02b30f; margin-top:0px; width: 50%; text-align:right;}
				.a_view_dose_2a{float: left; font-weight: bold; font-size: 18px; line-height: 18px; color:#b08828; margin-top:0px; width: 50%;} 
				.a_view_dose_2b{float: right; font-weight: bold; font-size: 18px; line-height: 18px; color:#b08828; margin-top:0px; width: 50%; text-align:right;}	
			.a_view_row label{float:left; margin-bottom:20px; font-size: 18px; line-height: 18px; font-weight:bold; width: 100%;}
				.sl-item{float:left; width: calc(100%); border-bottom:1px solid #efefef; border-radius: 0px; margin-bottom:7px;}
				
				.a_view_row_ingredients{float:left; margin-bottom:10px; padding-bottom:10px; width: 100%; font-weight: normal; border-bottom:1px solid #efefef;}
					.a_view_row_ingredients_item0{float: left; margin-right:25px;}
				
				.a_view_row_ingredients_shop{float:left; padding: 5px; padding-top:10px; padding-bottom:10px; width: calc(100% - 20px); font-weight: normal;}
					.a_view_row_ingredients_item0_shop{float: left; margin-left:15px; margin-top: 2px; max-width: calc(100% - 140px); text-align:left;}
					
					.a_view_row_ingredients_item{color:#a3a3a3;}			
					.a_view_row_ingredients_dec{background: #02b30f; color: #ffffff; font-size: 11px; line-height: 11px; float: left; position: relative; 
					margin-right: 8px; margin-top: 5px; padding: 4px; padding-left: 9px; padding-right: 9px; border-radius: 5px;}		
					.a_view_row_ingredients_dec_a{float: left !important; font-size: 11px !important; line-height: 11px !important; background:none !important; margin:0px !important; text-decoration:none !important;}
					.anchor-target {
					    scroll-margin-top: 10px; /* 100px helyet hagy a tetején */
					}				
				.a_viewcon_titles{float: left; position: relative; margin-right:8px; margin-bottom:10px; padding:4px; padding-left:9px; padding-right:9px; border-radius: 5px; font-size: 14px;}
					
		.a_view_div .a_form_row label{float:left; position:relative; width:100%; margin-top:24px; margin-bottom:4px; font-size: 14px; font-weight:normal;}
/* VIEW */
.calendar-wrapper {
    max-width: 100%;
    margin: 0 auto;
    padding: 20px;
}

.calendar-navigation {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
    position: relative;
}

.calendar-navigation2 {
    display: flex;
    justify-content: center;
}

.calendar-navigation input {
    margin: 0 10px;
    padding: 10px 20px;
    font-size: 14px;
}

#date-picker {
    max-width: 100%;
}

#calendarpdf_select {
    height: 40px; /* Fix magasság, hogy ne nőjön */
    max-width: 100%; /* Ne nyúljon túl a szülőn */
    position: absolute;
    right: 85px; 
    top: 0;
}

#calendar_pdf {
    position: absolute;
    right: 0;
    top: 3px;
    padding: 4px 15px; font-size: 14px; background: #02b30f;
    width: 70px;
    border-radius: 3px;
}
#calendar_pdf:hover{background: #00cb0f;}

#ca_pdf_status{
	display:none;
	position: absolute;
    right: 84px;
    top: 43px;
	font-size:12px;
}

#prev-week, #next-week {
  margin: 0px 0px;
  background-color: transparent;
  border: none;
  color: #b9b9b9;
  font-size: 32px; /* Nyíl méret */
  height: 40px;
  width: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
}

#prev-week::before {
  content: "←"; /* Balra mutató nyíl */
}

#next-week::before {
  content: "→"; /* Jobbra mutató nyíl */
}

.calendar-navigation2_div.single-day-mode #prev-week,
.calendar-navigation2_div.single-day-mode #next-week { display: none !important; }

.calendar-navigation2_div.single-day-mode .calendar-navigation2_div_c { width: 175px; }

#int_sum_button{position:absolute; right:20px; top:20px}

.calendar-navigation2_div {   
	position:relative;    
    width: 100%;
    float:left;
    margin-top: 30px;
    padding-bottom: 5px; display:flex; justify-content:space-between; align-items:center; flex-wrap:nowrap;
}

.calendar-navigation2_div_c{margin: 10px 0; padding: 0 0 0 20px; width: auto; height: auto; display:flex; align-items:center; gap:8px;}

.calendar-navigation2_div_c #prev-week, #next-week{display:block; float: left; margin: 0px 0px; padding:0px 0px;
    background-color: transparent;
    border: none;
    margin: 0px 0px;
    padding: 0px 0px;
    color: #b9b9b9;
    font-size: 32px;
    height: 17px;
    width: 30px;
    line-height: 6px;}

.calendar-navigation2_div_c input {
	display:block; float: left;
    margin: 0px 10px;
    padding: 1px 15px;
    font-size: 12px;
    line-height: 20px;
    border-radius: 6px;
}

.calendar-navigation2_div_p{height: auto; max-width: 100%; margin:0 20px 0 0;}

.calendar-navigation2_div_p #calendarpdf_select{float: left; position:relative; right: unset; top: unset; margin-right:10px;  height: 28px; font-size: 12px; padding: 0px 8px; border-radius: 6px;}
.calendar-navigation2_div_p #calendar_pdf{float: left; position:relative; right: unset; top: unset; width: auto; margin-top:1px; margin-bottom: 16px;}

/* ===== des1 dátum-váltó (a_calendar): balra igazítva, kerek nyilak, narancs naptár-ikon =====
   Scope: #id.cal-nav-arrow / .cal-date-pill → csak az a_calendar új navja; p_calendar/secret marad. */
#prev-week.cal-nav-arrow, #next-week.cal-nav-arrow{
	width:40px; height:40px; padding:0; margin:0; border-radius:50%; float:none;
	background:#fff; border:1px solid #e0e0e0; color:#8a8f98;
	display:flex; align-items:center; justify-content:center; box-sizing:border-box;
	font-size:0; line-height:normal; cursor:pointer; box-shadow:0 2px 2px rgba(0,0,0,0.07); -moz-box-shadow:0 2px 2px rgba(0,0,0,0.07); -webkit-box-shadow:0 2px 2px rgba(0,0,0,0.07);
	transition:background .15s, border-color .15s, color .15s;
}
#prev-week.cal-nav-arrow::before, #next-week.cal-nav-arrow::before{ content:none; }
#prev-week.cal-nav-arrow:hover, #next-week.cal-nav-arrow:hover{ background:#f7f7f7; border-color:#d0d0d0; color:#5a5f68; }
#prev-week.cal-nav-arrow svg, #next-week.cal-nav-arrow svg{ width:20px; height:20px; }
#prev-week.cal-nav-arrow svg{ transform:scaleX(-1); }

.cal-date-pill{
	position:relative; display:flex; align-items:center; gap:8px; float:none;
	background:#fff; border:1px solid #e0e0e0; border-radius:30px;
	padding:10px 16px; cursor:pointer; box-sizing:border-box; box-shadow:0 2px 2px rgba(0,0,0,0.07); -moz-box-shadow:0 2px 2px rgba(0,0,0,0.07); -webkit-box-shadow:0 2px 2px rgba(0,0,0,0.07);
	font-size:15px; font-weight:600; color:#333; white-space:nowrap;
	transition:border-color .15s, box-shadow .15s;
}
.cal-date-pill:hover{ border-color:#d0d0d0; box-shadow:0 1px 4px rgba(0,0,0,0.06); }
.cal-date-pill .cal-date-ico{ flex:0 0 auto; width:18px; height:18px; color:#e5a900; }
.cal-date-pill .cal-date-txt{ font-style:normal; }
.cal-date-pill input[type=date]{
	position:absolute; left:0; top:0; width:100%; height:100%; float:none;
	margin:0; padding:0; border:0; background:transparent; opacity:0;
	cursor:pointer; z-index:2; -webkit-appearance:none; appearance:none;
}
.cal-date-pill input[type=date]::-webkit-calendar-picker-indicator{
	position:absolute; left:0; top:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer;
}
#ca_pdf_status {position: relative;font-size: 12px; width: 100%; left: -2px; top: 4px; text-align: right; color:#02b30f; pointer-events: none;}
/*
.week-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    gap: 8px;
    padding: 10px 0 16px;
}*/

.week-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    gap: 8px;
    padding: 10px 0 16px;
}

/* ===== Heti tápérték-összegző (week-nut-summary) =====
   STRUKTÚRA + működő default itt (a publikus /share nézet NEM tölt skint, ott ez ad színt).
   A színek CSS-változókból jönnek (fallbackkel) → a default.css skin felülírhatja (lásd ott). */
.week-nut-summary{ float:left; width:100%; margin-top:16px; margin-bottom:14px; box-sizing:border-box; }
.week-nut-summary .wns-card{ padding:20px; border-radius:16px; box-sizing:border-box;
	background:var(--wns-card-bg,#fff); border:1px solid var(--wns-card-bo,#c3c3c3); box-shadow:0 2px 10px rgba(0,0,0,0.1); }
.week-nut-summary .wns-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.week-nut-summary .wns-tile{ display:flex; align-items:center; gap:12px; min-width:0; padding:14px; border-radius:14px; box-sizing:border-box; background:var(--wns-tile-bg,#f6fbf5); }
.week-nut-summary .wns-ico{ flex:0 0 auto; width:44px; height:44px; border-radius:25px; display:flex; align-items:center; justify-content:center;
	background:var(--wns-ico-bg,#e3f1e4); color:var(--wns-ico-fg,#2e8b47); }
.week-nut-summary .wns-ico svg{ width:21px; height:21px; }
.week-nut-summary .wns-txt{ display:flex; flex-direction:column; min-width:0; line-height:1.2; }
.week-nut-summary .wns-label{ font-size:12px; font-weight:500; color:var(--wns-label,#6b7d6e); }
.week-nut-summary .wns-val{ font-size:22px; font-weight:800; color:var(--wns-val,#1f3320); margin-top:1px; white-space:nowrap; }
.week-nut-summary .wns-unit{ font-size:12px; font-weight:500; color:var(--wns-label,#6b7d6e); margin-left:-4px; }
.week-nut-summary .wns-details{ margin-top:8px; border-top:0px solid var(--wns-card-bo,#e4eee2); padding-top:4px; }
.week-nut-summary .wns-details > summary{ cursor:pointer; font-size:13px; color:var(--wns-summary,#6b7d6e); user-select:none; padding:7px 2px; list-style:none; display:inline-flex; align-items:center; gap:8px; }
.week-nut-summary .wns-details > summary::-webkit-details-marker{ display:none; }
.week-nut-summary .wns-details > summary::before{ content:''; width:7px; height:7px; border-right:2.5px solid currentColor; border-bottom:2.5px solid currentColor; transform:rotate(45deg); transition:transform .18s; position:relative; top:-3px; }
.week-nut-summary .wns-details[open] > summary::before{ transform:rotate(-135deg); top:1px; }
.week-nut-summary .wns-table-wrap{ overflow-x:auto; margin-top:6px; border:1px solid var(--wns-row-bo,#eef3ec); border-radius:12px; }
.week-nut-summary .wns-table{ font-size:12.5px; border-collapse:collapse; width:100%; font-variant-numeric:tabular-nums; }
.week-nut-summary .wns-table thead th{ background:var(--wns-thead-bg,#f4f8f2); color:var(--wns-th,#e5a900); font-size:11px; font-weight:600; padding:8px 14px; text-align:right; white-space:nowrap; }
.week-nut-summary .wns-table thead th:first-child{ text-align:left; }
/* „Összesen" oszlop fejléce szumma-jel (Σ), mint a nap-kártyák .nut-tbl th.nut-sum-jánál:
   kicsit nagyobb, hogy jelként olvasható legyen; a jelentése a title-ben (tooltip). */
.week-nut-summary .wns-table thead th.wns-sum{ font-size:14px; line-height:1; cursor:help; }
.week-nut-summary .wns-table tbody td{ padding:8px 14px; color:var(--wns-td,#556b58); text-align:right; white-space:nowrap; }
.week-nut-summary .wns-table tbody td:first-child{ text-align:left; font-weight:500; }
.week-nut-summary .wns-table tbody tr:nth-child(even){ background:var(--wns-zebra,#f7faf6); }
.week-nut-summary .wns-table .cal-wk-row-pp{ font-weight:700; color:var(--wns-val,#1f3320); }
.week-nut-summary .wns-table .cal-wk-row-avg{ color:var(--wns-label,#6b7d6e); }
.week-nut-summary .wns-table .cal-wk-row-tot{ color:var(--wns-unit,#9aa0a6); }
.week-nut-summary .cal-wk-partial-note{ font-size:10px; color:#e67e22; margin-top:6px; }
/* Mobil: a 3 blokk egymás alá */
@media (max-width:760px){
	.week-nut-summary .wns-grid{ grid-template-columns:1fr; gap:4px; }
	.week-nut-summary .wns-val{ font-size:20px; }
}

/* ===== Rendezett tápanyag-táblák (recept-nézet, nap/étkezés összesítő, dec lenyíló) =====
   Semleges „megregulázás", a helyhez igazodva: áttetsző zebracsík (fehér popupon és
   sötét skines naptáron is jól néz ki) + számigazítás. Additív – a meglévő inline
   cella-stílusokat NEM írja felül, csak a sorháttereket és a számformátumot adja. */
/* Fogás-kártya tápanyag-táblája (cal_render.php, secret.php).
   ÜVEGES doboz: áttetsző fehér + backdrop-filter, így a fogás pasztell színe ÁTÜT rajta – nem üt el
   tőle, mint egy tömör fehér kártya, de a tábla mégis elkülönül. A színek szándékosan félig átlátszók
   (rgba), hogy minden kategória-színen működjenek. Sor-hover NINCS (a tábla nem interaktív). */
.nut-tbl-wrap{ float:left; width:100%; box-sizing:border-box; margin:2px 0 8px;
	border:1px solid rgba(255,255,255,0.55); border-radius:10px; overflow:hidden;
	background:rgba(255,255,255,0.40);
	backdrop-filter:blur(5px) saturate(1.15); -webkit-backdrop-filter:blur(5px) saturate(1.15);
	box-shadow:0 1px 2px rgba(0,0,0,0.05), inset 0 1px 0 rgba(255,255,255,0.45); }
.nut-tbl{ width:100%; border-collapse:collapse; font-size:11px; font-variant-numeric:tabular-nums; }
.nut-tbl thead th{ background:rgba(255,255,255,0.38); color:rgba(60,50,42,0.55); font-size:10px;
	font-weight:500; padding:5px 9px; text-align:right; white-space:nowrap; }
.nut-tbl thead th:first-child{ text-align:left; }
/* Az „összesen” oszlop fejléce szumma-jel (Σ) – a teljes felirat nem férne ki. Kicsit nagyobb,
   hogy jelként olvasható legyen; a jelentése a title-ben (tooltip). */
.nut-tbl thead th.nut-sum{ font-size:13px; line-height:1; cursor:help; }
.nut-tbl tbody td{ padding:4px 9px; font-weight:500; color:rgba(50,42,36,0.62); text-align:right;
	white-space:nowrap; }
.nut-tbl tbody td:first-child{ text-align:left; }
.nut-tbl tbody td.nut-v{ color:rgba(40,34,28,0.88); }   /* „/ 1 adag" – a hangsúlyos érték */
.nut-tbl tbody tr:nth-child(even) > td{ background:rgba(255,255,255,0.26); }
/* Ahol a backdrop-filter nem támogatott, a doboz kicsit tömörebb fehér legyen (különben túl halvány) */
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
	.nut-tbl-wrap{ background:rgba(255,255,255,0.72); }
}

.day-box {
	position: relative;
    width: calc((100% - 48px) / 7);
    min-width: 240px;
    height: auto;
    min-height: 400px;
    margin-bottom: 10px;
    border: 1px solid #c3c3c3;
    text-align: center;
    padding: 8px;
    padding-bottom: 25px;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
    -moz-box-shadow: 0 2px 10px rgba(0,0,0,0.07);
    -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
    background: #fff;
}

/* Étkezés nélküli (üres) nap háttere. A nap-jegyzet saját (inline) színe erősebb, így az megmarad. */
.day-box.day-box-empty {
    background-color: #f7f7f7;
}

.today-focus {
    border: 1px solid #02b30f;
    box-shadow: 0 0 0 2px rgba(2,179,15,0.25), 0 4px 18px rgba(2,179,15,0.15);
    -moz-box-shadow: 0 0 0 2px rgba(2,179,15,0.25), 0 4px 18px rgba(2,179,15,0.15);
    -webkit-box-shadow: 0 0 0 2px rgba(2,179,15,0.25), 0 4px 18px rgba(2,179,15,0.15);
}

/* Mobil egynapos nézetben a fókusz-nap nem kap zöld keretet (felesleges, úgyis egy nap látszik) */
@media (max-width: 660px) {
    .single-day-mode .today-focus {
        border: 1px solid #c3c3c3;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
        -moz-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
        -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
    }
}

.end-date {
    background-color: #707070;    
}

.day_events_end_date {
    float: left;
    position: relative;
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 5px;
    padding-top: 50px;
    padding-bottom: 50px;
    width: calc(100% - 0px);
    color: #fff;
    border: 1px dashed #fff;
    border-radius: 20px;
    cursor: pointer;
    font-size: 22px;
    line-height: 35px;
}

.day-header {
	float: left;
	width: 100%;
    font-size: 18px;
    margin-top:2px;
    margin-bottom: 30px;
}
	.day-header-day {float: left; width: calc(100% + 16px); text-align:left; position: relative;
	    background-color: #f9f9f9; color:#000;
	    border: none;
	    padding: 8px 12px;
	    text-decoration: none;
	    margin: -10px -8px;
	    font-weight: normal;
	    border-bottom:1px solid #ddd;
	    border-radius: 14px 14px 0px 0px;
	    box-shadow: none;
	    -moz-box-shadow: none;
	    -webkit-box-shadow: none;
	  }
		.day-header-day span{font-size: 12px; margin-top: 5px;}

	.day_criteria_title{padding: 3px 12px;
    background: #789def;
    border: 1px solid #d5d5d5;
    border-radius: 10px;
    font-family: 'Poppins', Arial, sans-serif;
    display: inline-block;
    white-space: nowrap;}

/* Csak a naptár nap-fejlécben: max szélesség + ellipsis, és a span-okra vonatkozó margin-top ne tolja le a pillt */
.day-header-day .day_criteria_title{ max-width: 145px; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; margin-top: 0 !important; vertical-align: middle; line-height: 1.2; }

.day-content {
	float: left;
    position: relative;
    width: 100%;
    padding-bottom: 45px;
    font-size: 16px;
}

.day_note{
	float:left; position:relative; margin-bottom:10px; padding:5px; width: calc(100% - 0px); border-radius:8px;
	text-align:center; font-size:12px; color:#4a5e4b;
	box-shadow: none; background-color:#f5fdf5; border:1px solid #d6f0d7;
}

.day_events{
	float:left; position:relative; margin-bottom:20px; padding:5px; width: calc(100% - 0px); border-radius:10px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.07); background-color: var(--de-bg, #f5fdf5); border:1px solid var(--de-bo, #8ed392);
	-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.07);
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.07);
}

.day_events_empty{
	float:left; position:relative; margin-top:20px; margin-bottom:20px; padding:5px; padding-top:50px; padding-bottom:50px; width: calc(100% - 0px);
	border:1.5px dashed rgba(2,179,15,0.35); border-radius:14px; cursor: pointer; font-size:22px; line-height: 35px;
	color: rgba(2,179,15,0.55); transition: border-color 0.2s, background 0.2s;
}
	/* a vezető-panelnél (.cal-day-guide) nincs doboz-hover: ott a chipek hoverelnek egyesével */
	.day_events_empty:not(.cal-day-guide):hover{
	border-color: rgba(2,179,15,0.65); background: rgba(2,179,15,0.04);
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;}
	.day_events_empty span{font-size:40px;}

@media (max-width: 500px) {
    .day-box {
        width: 100%;
    }
}		

.day_event_name{float:left; position:relative; width:100%;  text-align:left; margin-top: 3px; margin-bottom:10px;}
	.de-dragging-source{opacity:0.35 !important;}
	.de-drop-highlight{transition:box-shadow 0.25s; box-shadow:0 0 0 2px rgba(2,179,15,0.5) !important;}
	.day-box.de-dragover-active{outline:2px dashed rgba(2,179,15,0.55); outline-offset:-4px;}
	.day-box.de-dragover-invalid{outline:2px dashed rgba(192,57,43,0.7); outline-offset:-4px;}
	.day_event_name_title {
	    float: left;
	    display: flex;
	    align-items: center;
	    position: relative;
	    max-width: 100%;
	    cursor: grab;
	    user-select: none;
	    border: 0px solid #e2f3e3;
	    padding: 3px 10px;
	    text-decoration: none;
	    margin: 0px -7px;
	    font-size: 14px;
	    font-weight: bold;
	    border-radius: 0px;
	    background: none;
	}
	
.day_event_decs{float:left; position:relative; width:calc(100% + 10px); min-height: 30px; margin:-5px; padding:5px; border-radius: 5px; color:#fff;}
/* Üres étkezés súgó: az étkezés színével (--de-fg), közép + nagy padding, dőlt. A .day_event_decs-en belül van (drop-target).
   Ha az étkezésben VAN látható fogás → elrejtve (a delDec csak display:none-t tesz a fogásra, ezért a rejtettet kizárjuk). */
.day_event_empty_hint{ float:left; box-sizing:border-box; width:100%; display:flex; align-items:center; justify-content:center; text-align:center; padding:26px 18px; font-style:italic; font-weight:normal; font-size:13px; line-height:1.4; }
.day_events:has(.day_event_dec:not([style*="display: none"])) .day_event_empty_hint{ display:none; }
	
.day_event_dec{float:left; position:relative; width:100%; font-weight:bold; font-size:13px; line-height:18px; text-align:left; padding:6px 8px; margin-top:5px; margin-bottom:5px; background-color: var(--dec-bg, transparent); color: var(--dec-fg, #fff); border: var(--dec-bw, 0px) solid var(--dec-bo, #fff);
	border-radius:10px; cursor: grab; touch-action: none;
	-webkit-user-select: none; -moz-user-select: none; user-select: none;
	-webkit-touch-callout: none;
	/*box-shadow: 0 1px 4px rgba(0,0,0,0.14), inset 0 1px 0 rgba(255,255,255,0.35);
	-moz-box-shadow: 0 1px 4px rgba(0,0,0,0.14);
	-webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.14), inset 0 1px 0 rgba(255,255,255,0.35);*/
}

/* ── Mobil (≤660px, ahol a JS calDecIsMobile() szerint NINCS húzás) ─────────────
   1) touch-action: a kártyán a húzáshoz való `none` mobilon feleslegesen tiltja a
      natív görgetést, és rontja a koppintás-felismerést (pár px ujjmozgás már nem
      számít tap-nek). Mobilon a JS tap-to-place-t használ, ezért itt pan-y kell.
   2) Érintési terület: a "•••" ~14×14px, a nyíl CSS-háromszög (width/height:0)
      ~10×10px – jóval a 44px-es ajánlás alatt. Láthatatlan ::after-rel növeljük a
      találati felületet ANÉLKÜL, hogy a vizuális méret vagy a layout változna.
      A menü-ikonnál befelé (le/balra) nyújtunk, hogy ne lógjon a szomszéd kártyára. */
@media (max-width: 660px){
	.day_event_dec{ touch-action: pan-y; }
	.dec_menu_icon::after{
		content:''; position:absolute; top:-6px; right:-6px; bottom:-14px; left:-14px;
	}
	.day_event_dec_arrow{ position:relative; }
	.day_event_dec_arrow::after{
		content:''; position:absolute; top:-12px; right:-12px; bottom:-12px; left:-12px;
	}
	/* A nap étkezési szabályának nyila (nap-fejléc) ugyanolyan pici CSS-háromszög – kapja meg
	   ugyanazt a megnövelt találati felületet. */
	.day_criteria_arrow{ position:relative; }
	.day_criteria_arrow::after{
		content:''; position:absolute; top:-12px; right:-12px; bottom:-12px; left:-12px;
	}
}
	.ca_dec_name_div{max-width: calc(100% - 30px); cursor: pointer;}
		/*.ca_dec_name_div:hover{box-shadow: 2px 2px 2px #a1a1a1;-moz-box-shadow: 2px 2px 2px #a1a1a1;-webkit-box-shadow: 2px 2px 2px #a1a1a1; border:0px solid #a1a1a1; border-radius:5px;}*/
		
	.drag_handle {
	  position: absolute;
	  top: -9px;
	  left: 50%;
	  transform: translateX(-50%);
	  cursor: grab;
	}
	
	.drag-placeholder {
	  float: left;
	  width: 100%;
	  border-radius: 5px;
	  background: rgba(2, 179, 15, 0.07);
	  border: 2px dashed rgba(2, 179, 15, 0.35);
	  box-sizing: border-box;
	  animation: placeholder-pulse 1.2s ease-in-out infinite;
	  margin-top: 5px;
	  margin-bottom: 5px;
	}

	@keyframes placeholder-pulse {
	  0%, 100% { border-color: rgba(2, 179, 15, 0.25); background: rgba(2, 179, 15, 0.05); }
	  50%       { border-color: rgba(2, 179, 15, 0.55); background: rgba(2, 179, 15, 0.12); }
	}

	.dragging-source {
	  opacity: 0.22;
	  transform: scale(0.97);
	  transition: opacity 0.12s ease, transform 0.12s ease;
	}

	.dragover-active {
	  background: rgba(2, 179, 15, 0.05);
	  border-radius: 5px;
	  transition: background 0.2s ease;
	}

	.drop-highlight {
	  animation: dropAnimation 0.35s ease-out;
	}

	@keyframes dropAnimation {
	  0%   { transform: scale(1.03); box-shadow: 0 4px 16px rgba(2, 179, 15, 0.28); }
	  100% { transform: scale(1);    box-shadow: 0 2px 8px rgba(0,0,0,0.10); }
	}

.day_event_note{float:left; position: relative; /*width:calc(100% - 0px);*/ font-weight:600; padding:4px 10px; margin:0px; margin-bottom:0px; margin-left: -10px;
	cursor: pointer;
	font-size:12px;
	font-style: italic;
	line-height:18px;
	text-align:left;
	background: #fff8e1; color: #7a5800; border-radius:0px 5px 5px 0px; border-left: 3px solid #e5a900;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;}
		
.day_event_up_button{float:left; position:relative; width:calc(100% - 10px); font-weight:600; font-size:12px; text-align:center; padding:5px; margin:5px; margin-bottom:0px; cursor: pointer;
	color: #7a7a7a; border:1.5px dashed rgba(141,141,141,0.4); border-radius:20px;
	transition: background 0.15s, border-color 0.15s;}
	.day_event_up_button:hover{background: #f9f9f9; border-color: #9d9d9d;
	box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none;}

.day_event_item_up_button{float:left; position:relative; width:100%; font-weight:600; font-size:12px; text-align:center; padding:5px; margin-top:9px; margin-bottom:0px; cursor: pointer;
	border-style:dashed; border-width:1.5px; border-radius:20px;
	transition: background 0.15s, border-color 0.15s;}
	.day_event_item_up_button:hover{background: var(--hov-bg); border-color: var(--hov-bo);
	box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none;}
	
	.ca_event_start{display: inline-flex;/*justify-content: flex-end;*/align-items: center;gap: 3px;
		font-size: 12px;line-height: 12px;font-weight: bold;margin-top: 3px;margin-left:5px;text-align: right;}
		.ca_event_start svg{height: 13px; width: 13px; flex-shrink: 0;}
	
#day_event_up_div{margin:0px auto;  width:calc(100%); max-width:720px;  z-index: 11; font-family: 'Poppins', Arial, sans-serif; color:#5c5c5c;}
	#day_event_up_div input{width: 100%;}	
	#day_event_up_div input[type="checkbox"]{width: 20px;} #weekday_div input[type="checkbox"]{width: 20px;} 
	#day_event_up_div .a_form_submit button{margin-top:30px;}
	#day_event_up_div select{width: 100%;}
	
	#day_event_up_div input[type="radio"]{
			width: auto;
			float: none;
			margin-left: 10px;
    		margin-right: 3px;
		}
	
	#day_event_up_div label label{float:none;}
	
	.pop_form_div{
		position: relative;
	    float: left;
	    margin: 0px;
	    width:100%;
	    max-width: 676px;
	    padding:20px;
	    padding-top:30px;
	    margin-top: 0px;
	   	background: #fff;
	   	border-radius:10px;
	   	box-sizing: border-box;
	 }

	 	.a_title_pop{margin: 8px -20px;}
	
		 #tag-list2 { 
            border: 1px solid #ccc; 
            border-top:0px;
            border-bottom:0px;
            max-height: 297px; 
            overflow-y: auto; 
            position: absolute;
            top: 37px;
            background-color: white;
            width: calc(100% - 0px);
            z-index: 1000;
        }
        #tag-list2 div{cursor: pointer; padding:7px; width: calc(100% - 0px); border-bottom: 1px solid #ccc;}
			#tag-list2 div:hover{background: #d1f1c6;}
			
		.tag-list2 { display: none;  border: 1px solid #ccc; max-height: 150px; overflow-y: auto; position: absolute; z-index: 1000; background: white; }
        .tag-item {float:left; padding: 5px; cursor: pointer; }
        .tag-item:hover { background: #f0f0f0; }
        	.dec_name_font{float:left; width: calc(100% - 120px);}
        	.tag-item span{float:right; font-weight:bold; color:#02b30f}
        	.tag-item span.dec_last_occurrence_span{font-weight:normal; color:#5c5c5c; font-size:12px; margin-right:5px; padding-right: 5px; margin-top: 2px; border-right: 1px solid #c1c1c1;}
        #tag-list2 .tag-crit-header{float:left; width:100%; cursor:default; pointer-events:none; font-weight:bold; color:#5c5c5c;}
        #tag-list2 .tag-crit-header:hover{background:transparent !important;}
        #tag-list2 .tag-crit-header.tag-crit-header-alt{background:transparent !important; color:#e02020;}
        .tag-item-not-match{background:#fff5f5;}
        #tag-list2 .tag-item-not-match:hover{background:#ffe8e8;}
        .tag-item-not-match .dec_name_font{color:#e02020;}
        .error { border: 1px solid red; }
        .error-message { color: red; display: none; }
        
        .day_criteria_arrow {
        	float:right;
        	margin-left:8px;
        	margin-top: 4px;
		    width: 0; 
		    height: 0; 
		    border-left: 5px solid transparent;
		    border-right: 5px solid transparent;
		    border-top: 10px solid #5c5c5c;
		    cursor: pointer;
		    transition: transform 0.3s ease;
		    color: #5c5c5c;
		}
		
		.open .day_criteria_arrow {
		    transform: rotate(180deg); /* Nyíl fel */
		}
		
		.day_criteria_more {
			/*float:left;*/
			position: relative;
			width: auto;
		    display: none;
		    margin-top:5px;	
		    padding:0px;
		    font-size: 12px;
		    font-weight: normal;
		}
        	.day_criteria_more_cr{float: left; position: relative; font-weight: normal; width: 100%; margin-bottom:3px;}
        	/* Ugyanaz a helyzet, mint a .day_criteria_more_title-nél: a des1 `.day_event_dec div span`
        	   (0,1,2) !important szabálya erősebb, ezért (0,2,0)-s szelektorral írjuk felül. */
        	.day_event_dec .day_criteria_more_cr{ margin-top:2px !important; }
        		.day_criteria_more_title{float: left; position: relative; margin-top:3px; margin-right:5px; margin-bottom:3px; padding:3px 10px; border-radius: 16px; font-size: 12px;}
        		/* A des1 skin `.day_event_dec div span{margin-top:-2px !important}` szabálya SPECIFIKUSABB (0,1,2),
        		   ezért a puszta !important nem elég a fenti (0,1,0) szabályon – itt (0,2,0)-val írjuk felül. */
        		.day_event_dec .day_criteria_more_title{ margin-top:3px !important; }

.a_crit_view_type_label{float:left; font-weight:bold; font-size:15px; color:#555; margin-bottom:4px;}

        .day_event_dec_arrow {
        	float:right;
        	margin-top: 8px;
		    width: 0; 
		    height: 0; 
		    border-left: 5px solid transparent;
		    border-right: 5px solid transparent;
		    border-top: 10px solid #fff;
		    cursor: pointer;
		    transition: transform 0.3s ease;
		    color: #5c5c5c;
		}
		
		.day_event_dec_more {
			float:left;
		    display: none;
		    margin-top:5px;
		    width: 100%;
		    padding:5px;
		    /* box-sizing KELL: nincs globális border-box reset, e nélkül a 100% + 2*5px padding
		       miatt a doboz (és benne a tápanyag-tábla) kilógna a fogás-kártyából. */
		    box-sizing: border-box;
		}
		
		.open .day_event_dec_arrow {
		    transform: rotate(180deg); /* Nyíl fel */
		}
		
		.day_event_dec div span{float:left; margin-top:3px; font-weight:normal; font-size:12px; line-height:12px; display: inline-flex; align-items: center; gap: 2px;}
			.day_event_dec div span svg{width:13px; height:13px; flex-shrink: 0;}
		
				.ca_dec_share_text{float:left; margin-top:7px !important; margin-bottom: 0px; padding:3px 8px; border-radius:10px; background-color:#fff;
				font-weight:normal; font-size:12px; line-height:12px; display: inline-flex; align-items: center; gap: 2px;}
				/* A des1 skin `.day_event_dec div span{margin-top:-2px !important}` szabálya erre a span-ra is
				   ráhúzna (specificitása 0,1,2 > 0,1,0), ezért ITT specifikusabb szelektorral (0,2,0) rögzítjük.
				   A clear:both azért kell, mert rövid fogásnév mellé beúszva a margók félrecsúsznak – így MINDIG
				   új sorban kezdődik, a szélessége viszont a tartalomhoz igazodik (inline-flex). */
				.day_event_dec .ca_dec_share_text{
					clear: both !important;
					margin-top: 7px !important;
					margin-bottom: 0 !important;
				}
		
		.day_event_dec_menus {
		    display: flex;
		    justify-content: space-between;
		}
		
		.day_event_dec_menus a{
			margin-left:8px; margin-right:8px; margin-top:1px; height: 18px; cursor:pointer;
			font-size: 24px; line-height: 12px; font-weight: normal; text-decoration:none;
		}
		.day_event_dec_menus a:nth-child(2) {
		    margin-left: auto;
		    margin-right: auto;
		}
		
		#pop_new_con_button_div{float:left; width:auto; margin-right:8px;}
		#pop_new_con_button{float:none; display:inline-block; width:auto !important; padding: 6px 20px; font-size: 12px; background: #e5a900;border: none;color: #fff;border-radius:20px;text-decoration: none;font-weight: bold;
		  cursor: pointer;  margin: 8px 2px;
		  box-shadow: 3px 3px 3px #555;
		    -moz-box-shadow: 3px 3px 3px #555;
		    -webkit-box-shadow: 3px 3px 3px #555;
	    }
		#pop_new_con_button:hover{
			background: #ffca34;
		}
		
		#pop_search_shared_div{float:left; width:auto;}
		#pop_search_shared_btn{float:none; display:inline-block; width:auto !important; padding: 6px 20px; font-size: 12px; background: #4f9eff;border: none;color: #fff;border-radius:20px;text-decoration: none;font-weight: bold;
		  cursor: pointer;  margin: 8px 2px;
		  box-shadow: 3px 3px 3px #555;
		    -moz-box-shadow: 3px 3px 3px #555;
		    -webkit-box-shadow: 3px 3px 3px #555;
	    }
		#pop_search_shared_btn:hover{
			background: #99c7ff;
		}
		
		#cv_decedit_wrap {
		    float: left; width: 100%; box-sizing: border-box;
		    border: 1.5px dashed #ccc; border-radius: 10px;
		    padding: 14px 15px 18px 15px; margin-bottom: 15px;
		}

		.con_off{display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin-top: 8px;}
			.con_off_e {
				position: relative;
			    width: calc(25% - 6px);
			    min-width: 150px;
			    padding: 10px 10px 8px 10px;
			    background: #fff;
			    border: 1.5px solid #e8e8e8;
			    border-radius: 10px;
			    box-sizing: border-box;
			    font-size: 13px;
			    font-weight: bold;
			    cursor: pointer;
			    display: flex;
			    flex-direction: column;
			    justify-content: flex-start;
			    align-items: flex-start;
			    overflow: hidden;
			    transition: border-color 0.15s, box-shadow 0.15s;
			    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
			}
			.con_off_e:hover {
			    border-color: #02b30f;
			    box-shadow: 0 2px 8px rgba(2,179,15,0.13);
			}
			.con_off_e span{
			    position: absolute;
			    top: 6px; right: 6px;
			    font-size: 11px;
			    color: #00890a;
			    background: #f0faf0;
			    padding: 2px 6px;
			    border-radius: 8px;
			    font-weight: bold;
			}
			.con_last_name {
			    margin-bottom: 5px;
			    width: calc(100% - 22px);
			    line-height: 1.3;
			    color: #222;
			    overflow: hidden;
			}
			.con_last_date {
			    font-size: 11px;
			    color: #aaa;
			    margin-top: auto;
			}

			#dec_changed_box {
			    float: left; width: 100%; box-sizing: border-box;
			    border-radius: 8px; padding: 5px 14px; cursor: pointer;
			    background: #f4fbf4; border: 1.5px solid #c3e6c3;
			    transition: background 0.15s, border-color 0.15s;
			}
			#dec_changed_box:hover { background: #e4f5e4; border-color: #02b30f; }
		    	#dec_changed_box_sp1{float:left; width: calc(100% - 25px);}
				#dec_changed_box_sp2{float:right; width: 20px; text-align:right; margin-top: 4px;}
					#dec_changed_box_sp2 img{height: 16px;}
				
			.cal-rate-wrap {padding: 6px 0px 2px; float: left; width: 100%;}
			.cal-rate-btn {
			    font-size: 11px;
			    padding: 3px 8px;
			    margin-top:3px;
			    margin-left: 0px;
			    background: #fff8f0;
			    border: 1px solid #e0a060;
			    border-radius: 4px;
			    color: #c07020;
			    cursor: pointer;
			    white-space: nowrap;
			    box-shadow: 3px 3px 3px #555;
			    -moz-box-shadow: 3px 3px 3px #555;
			    -webkit-box-shadow: 3px 3px 3px #555;
			}
			.cal-rate-btn:hover { background: #fde8cc; }
			.cal-rate-num {
			    width: 36px;
			    height: 36px;
			    padding:0px;
			    border: 1px solid #ddd;
			    border-radius: 5px;
			    background: #fafafa;
			    font-size: 15px;
			    font-weight: bold;
			    color: #555;
			    cursor: pointer;
			    transition: background 0.12s, color 0.12s;
			}
			.cal-rate-num:hover { background: #df7304; color: #fff; border-color: #df7304; }
			.cal-rate-num-sel  { background: #df7304; color: #fff; border-color: #df7304; }	
							
	#calendar_up_div{position: relative; margin:0px auto; width:calc(100%); max-width:800px; z-index: 12; font-family: 'Poppins', Arial, sans-serif; color:#5c5c5c;}
		#calendar_up_view_div{
			position: relative;
		    float: left;
		    margin: 0px;
		    width:calc(100% - 40px);
		    max-width: 800px;
		    padding: 20px;
		    padding-top: 16px;
		    margin-top: 0px;
		   	background: #fff;
		   	border-radius: 10px;
		 }

	/* Popup nap-fejléc */
	.cup_day_header {
	    float: left;
	    width: calc(100% + 40px);
	    margin: -16px -20px 18px -20px;
	    padding: 12px 52px 12px 20px;
	    background-color: #f9f9f9;
	    border-bottom: 1px solid #ddd;
	    border-radius: 10px 10px 0 0;
	    box-sizing: border-box;
	}
	.cup_dh_row1 { float: left; width: 100%; margin-bottom: 5px; line-height: 1.5; }
	.cup_dh_dayname { font-size: 14px; font-weight: bold; color: #1a2e1b; }
	.cup_dh_date { font-size: 12px; color: #888; margin-left: 7px; }
	.cup_dh_crit { font-size: 11px !important; margin-left: 0px; margin-right: 7px; vertical-align: middle; }
	.cup_dh_row2 { float: left; width: 100%; }
	.cup_dh_evname { float: left; max-width: 100%; font-size: 13px; font-weight: bold; }
	.pop_form_div .cup_day_header { margin: -30px -20px 18px -20px; }

	.cup_popup_sticky_header {
		display: flex;
		flex-direction: column;
		width: calc(100% + 40px);
		margin: -16px -20px 18px -20px;
		background-color: #f9f9f9;
		border-radius: 10px 10px 0 0;
		border-bottom: 1px solid #ddd;
		box-sizing: border-box;
	}
	.cup_popup_sticky_header.cup_psh_sticky {
		position: sticky;
		top: -60px;
		z-index: 50;
	}
	.cup_popup_sticky_header .cup_day_header {
		float: none;
		width: 100%;
		margin: 0;
		border-radius: 0;
		border-bottom: none;
		background: transparent;
	}
	#cup_mentees_bar {
		float: none;
		width: 100%;
		padding: 20px 20px;
		border-top: 1px solid #ddd;
		background: #fff;
		text-align: center;
		box-sizing: border-box;
	}
	#cup_mentees_bar button {
		padding: 7px 24px;
		margin: 0;
	}
	/* Recept-szerkesztés (cuv_menu('cedit')) „Recept módosítása" gombja LILA (recept-accent),
	   nem a globális zöld pirula. A dec-mentés („Mentés") marad zöld. */
	#cup_mentees_bar button.cup-save-recipe { background: #5b3f9e; color: #fff; }
	#cup_mentees_bar button.cup-save-recipe:hover { background: #4c3488; }
	/* Ha a lenti Mentés gomb (.acv_bottom_save) már látszik, a felső ragadós sáv gomb-sora elrejtődik
	   (a class !important-tal veri az inline display:block-ot). */
	#cup_mentees_bar.cup-bar-hidden { display: none !important; }

	/* Bezáró gomb a popup fejlécen */
	#calendar_up_view_div .close_gray,
	.pop_form_div .close_gray {
	    top: 10px; right: 12px;
	    font-size: 20px; color: #999;
	    width: 32px; height: 32px;
	    display: flex; align-items: center; justify-content: center;
	    border-radius: 50%;
	    background: rgba(0,0,0,0.05);
	    transition: background 0.15s, color 0.15s;
	    /* z-index KELL: a .cup_day_header negatív margókkal (-16px -20px) a gomb alá nyúlik, és a
	       fejléc a gomb egy részét „elvette” a kattintásból – emiatt csak a jobb felső sarka fogott. */
	    z-index: 6;
	}
	#calendar_up_view_div .close_gray:hover,
	.pop_form_div .close_gray:hover {
	    background: rgba(0,0,0,0.1); color: #333;
	}

	/* Shopping */

	.ca_func_b{position: relative; margin-top:6px; margin-left:10px; padding: 4px 15px; font-size: 14px; background: #02b30f;border: none;color: #fff;border-radius:3px;text-decoration: none;font-weight: bold;
	  cursor: pointer; 
	  box-shadow: 3px 3px 3px #555;
	    -moz-box-shadow: 3px 3px 3px #555;
	    -webkit-box-shadow: 3px 3px 3px #555;
	 }	 
		 
	.shopping_div{margin:0px auto;  width:calc(100%); max-width:800px; z-index: 11; font-family: 'Poppins', Arial, sans-serif; color:#5c5c5c;}
		
		.shopping_view_div{
			position: relative;
		    float: left;
		    margin: 0px;
		    width:calc(100% - 40px);
		    max-width: 800px;
		    padding:20px;
		    margin-top: 0px;
		   	background: #fff;
		   	border-radius:10px; 		   	
		 }	 
	 	
	 	.shopping_view_fil{
	 		text-align:center;
	 		padding-top:40px;
	 		padding-bottom:0px;
	 	}
	 	
	 	.a_shopping_div{position:relative; margin: 0px auto; max-width:804px; width:100%; margin-top:60px;}
			.a_shopping_row{float:left; position:relative; width:calc(100% - 30px); border:1px solid #efefef; border-radius:10px; background: #fff; 
				padding:15px; padding-top:18px; padding-bottom:18px; margin-bottom:30px;
				box-shadow: 3px 3px 3px #cdcdcd;
			    -moz-box-shadow: 3px 3px 3px #cdcdcd;
			    -webkit-box-shadow: 3px 3px 3px #cdcdcd;
			}
	 		.a_shopping_row label{float: left; margin-bottom: 20px; font-size: 18px; line-height: 18px; font-weight: bold;}
	 		.a_shopping_row a{float: right; overflow: hidden; margin-bottom: 20px; font-size: 12px; line-height: 18px; font-weight: normal; color:#999797; cursor: pointer;}
	 		#sls_normal{float: left; position:relative; width: 100%;}
	 		#sls_edit{float: left; position:relative; width: 100%; display: none;}
	 		#sls_normal_link{display: none;}
	 	
	 	#slgenpdf_select{max-width: calc(100% - 88px); padding: 5px 8px; height: 28px; font-size: 12px; border-radius: 6px;}
	 	#slgenpdf{/*width: 70px;*/}
	 		
	 	#status{float: left; width:100%; padding-left:5px; margin-top:8px; margin-bottom:8px; color:#02b30f;}	
	 		
	 	.shopping_div_d_view{margin: 0px auto;width: calc(100%);max-width: 800px;z-index: 11;font-family: 'Poppins', Arial, sans-serif;color: #5c5c5c;}
	 		.shopping_div_d_view_arrow{float: left; position:relative; margin:0px; margin-left:20px; margin-right:20px; padding:20px; width: calc(100% - 80px);}
	 		.shopping_div_d_view_cont{float: left; position:relative; margin:0px;}
	 		
	 		.shopping_view{position:relative; width:100%;}
	 		.shop_view_arrow{float: left; position:relative; text-align:center; 
	 		font-weight:bold; background: #f3f3f3; cursor: pointer;}
		 		.shop_view_arrow::after {
				    content: '\25BC';  /* Lefelé mutató nyíl */
				    font-size: 16px;
				    position: absolute;
				    right: 6px;
				    top: 50%;
				    transform: translateY(-50%);
				    transition: transform 0.3s ease;
				}				
				.shop_view_arrow.active::after {
				    transform: translateY(-50%) rotate(180deg);  /* Nyíl felfelé forgatása */
				}	 		
	 		.shop_view_cont{float: left; position:relative; width: calc(100% - 18px); padding:0px; margin:0px 8px;}
	 		
	 		.shop_view_title{float: left; position:relative; font-weight:bold; font-size: 18px; width:calc(100% - 55px); margin-left: 20px; padding:8px; padding-left:10px; padding-right:10px; margin-bottom:15px; border-radius:5px;}
	 			
	 			.shop_d_title{float: left; position:relative; font-weight:bold; font-size: 16px; width:calc(100% - 85px); margin-left:50px; margin-bottom:15px; padding:8px; padding-left:10px; padding-right:10px; border-radius:5px;}
	 			
	 				.shop_c_title{float: left; position:relative; font-weight:bold; text-align: left; font-size: 14px; width:calc(100% - 115px); margin-left:80px; margin-bottom:15px; padding:8px; padding-left:10px; padding-right:10px; border-radius:5px;}
	 					.shop_c_title span{float: left; max-width:calc(100% - 30px);}

/* ── Nap- és étkezés-összefoglaló popup (pop_d_view.php / pop_de_view.php): a recept-sorok a naptár
      fogás-kártyáinak (.day_event_dec) dizájnját veszik át – kétsoros felépítés (félkövér 13px név +
      normál 12px meta-sor evőeszköz-ikonnal és adaggal), balra igazítva, 10px lekerekítéssel, és a ▼
      karakter helyett ugyanaz a CSS-háromszög nyíl (.day_event_dec_arrow mintája), a sor színével.
      A kategória-színeket (háttér/keret/betű) továbbra is az inline style adja, ahogy a naptárban is.
      Csak a popupra hat (#calendar_up_view_div) – a bevásárlólista sorai változatlanok. */
#calendar_up_view_div .shop_c_title{
	box-sizing:border-box; font-size:13px; line-height:18px; font-weight:bold; text-align:left;
	padding:6px 10px 7px; margin-bottom:8px; border-radius:10px;
}
/* Felül a recept neve (félkövér), alatta a fogás-kártyák meta-sorának megfelelője:
   normál vastagság, 12px, ikon + adag – ugyanaz a felépítés, mint a .day_event_dec div span-nál. */
#calendar_up_view_div .shop_c_title .sc-name{ float:left; width:100%; max-width:100%; font-weight:bold; }
#calendar_up_view_div .shop_c_title .sc-meta{
	float:left; width:100%; max-width:100%; margin-top:3px; font-weight:normal; font-size:12px;
	line-height:12px; display:inline-flex; align-items:center; gap:3px; opacity:.85;
}
#calendar_up_view_div .shop_c_title .sc-meta svg{ width:13px; height:13px; flex-shrink:0; }
#calendar_up_view_div .shop_c_title .sc-warn{ color:#c0392b; margin-left:4px; }
#calendar_up_view_div .shop_c_title.shop_view_arrow{ padding-right:28px; cursor:pointer; }
#calendar_up_view_div .shop_c_title.shop_view_arrow::after{
	content:''; width:0; height:0; font-size:0;
	border-left:5px solid transparent; border-right:5px solid transparent;
	border-top:10px solid currentColor;
	position:absolute; right:11px; top:50%; transform:translateY(-50%);
	transition:transform 0.3s ease;
}
#calendar_up_view_div .shop_c_title.shop_view_arrow.active::after{ transform:translateY(-50%) rotate(180deg); }
/* Nyitott sor: a fogás-kártyákhoz hasonlóan marad a kategória-szín, csak finom kiemelést kap. */
#calendar_up_view_div .shop_c_title.shop_view_arrow.active{ box-shadow:0 1px 3px rgba(0,0,0,0.12); }
/* A kinyíló hozzávaló-blokk tapadjon a sorához (az .rv-block alap margin-top:16px itt sok). */
#calendar_up_view_div .shop_view_cont > .rv-wrap.rv-sum{ margin-bottom:10px; }
#calendar_up_view_div .shop_view_cont > .rv-wrap > .rv-block{ margin-top:0; }
	 				
	 		.pop_d_view_arrow{margin-left:0px; margin-right:0px; padding:20px; width: calc(100% - 0px); max-width: 720px;}
	 		
	 .close_gray{position: absolute; top:5px; right:7px; font-size:30px; color:#ddd; cursor: pointer;
	 	display:flex; align-items:center; justify-content:center; line-height:1; min-width:32px; min-height:32px;
	 	z-index:6;}
	 /* Nagyobb KATTINTHATÓ terület a látható méret növelése nélkül: eddig gyakorlatilag csak magán az
	    „×” glifán lehetett eltalálni. A ::after átlátszó, csak a hit-area-t tágítja (mobilon is).
	    A z-index a szülőn van (fent) – enélkül a popup-fejléc alá kerülne. */
	 .close_gray::after{ content:''; position:absolute; top:-8px; right:-8px; bottom:-8px; left:-8px; }

	 .cuv_menu{float:left; width:100%; border-bottom:1px solid #ddd;}
	 	.cuv_menu div{float:left; padding:10px; padding-left:12px; padding-right:12px; font-size:16px;}
	 		.cuv_menu div:hover{background:#ebebeb;}
	 		.cuv_m_a{background:#ddd;}
	 
	.day_box_bottom{position:absolute; bottom: 0px; left:0px; width: 100%; margin-top:20px; padding-bottom:5px; border-top: 1px solid #ddd;}

/* ── SINGLE DAY MODE ──────────────────────────────────────────── */


/* Napi nav gombok (sticky, day-box alján) */
.day-nav-sticky {
    display: none;
}
.single-day-mode .day-nav-sticky {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    bottom: 18px;
    padding: 8px 4px 4px;
    pointer-events: none;
    z-index: 2;
}
.day-nav-arrow {
    pointer-events: all;
    background: #e5a900;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    font-size: 22px;
    line-height: 44px;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(0,0,0,0.18);
    -moz-box-shadow: 0 3px 10px rgba(0,0,0,0.18);
    -webkit-box-shadow: 0 3px 10px rgba(0,0,0,0.18);
    transition: background 0.15s, transform 0.1s;
    padding: 0;
}
.day-nav-arrow:hover { background: #c88a00; transform: scale(1.08); }
.day-nav-arrow:disabled { opacity: 0.3; pointer-events: none; }
.day-prev-btn::before { content: '‹'; }
.day-next-btn::before { content: '›'; }


/* Hétváltás jelzés a nap nyilakon */
.day-nav-arrow.cross-week { background: #5c7a5e; box-shadow: 0 3px 10px rgba(2,100,15,0.25); }
.day-nav-arrow.cross-week:hover { background: #3d5c40; }
.day-nav-arrow.cross-week { position: relative; }
/* „hét" felirat levéve (a szín-jelzés marad). Visszaállításhoz vedd ki a /* * / jeleket.
.day-nav-arrow.cross-week::after {
    content: 'hét';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 9px;
    font-weight: 700;
    color: #3d5c40;
    white-space: nowrap;
    display: block;
    line-height: 1;
}
*/

/* Single módban a day_box_bottom legyen statikus, float clear-rel, border nélkül */
.single-day-mode .day_box_bottom {
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
    clear: both;
    margin-top: 10px;
    border-top: none;
}
.single-day-mode .day-nav-sticky {
    clear: both;
}

/* touch-action: pan-y → böngésző nem értelmezi vízszintes swipe-ot back/fwd-ként */
.single-day-mode {
    touch-action: pan-y;
}

/* Lapozás slide animációk */
@keyframes ca-slide-in-fwd {
    from { transform: translateX(90px) scale(0.96); opacity: 0.35; }
    to   { transform: translateX(0)    scale(1);    opacity: 1; }
}
@keyframes ca-slide-in-bwd {
    from { transform: translateX(-90px) scale(0.96); opacity: 0.35; }
    to   { transform: translateX(0)     scale(1);    opacity: 1; }
}
.ca-slide-fwd { animation: ca-slide-in-fwd 0.28s cubic-bezier(0.22, 0.61, 0.36, 1); }
.ca-slide-bwd { animation: ca-slide-in-bwd 0.28s cubic-bezier(0.22, 0.61, 0.36, 1); }

/* DnD lift: desktop mousedown, touch 200ms hold után */
.dec-pressed {
    transform: scale(1.03) translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.22) !important;
    cursor: grabbing;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    z-index: 10;
    position: relative;
}
.ing-pressed {
    transform: scale(1.02) translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.18) !important;
    cursor: grabbing;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    z-index: 10;
    position: relative;
}
.ing-drop-highlight {
    animation: ingDropAnimation 1.35s ease-out;
}
@keyframes ingDropAnimation {
    0%   { box-shadow: 0 0 0 3px rgba(229,169,0,0.7), 0 4px 16px rgba(229,169,0,0.3); background: rgba(229,169,0,0.12); }
    100% { box-shadow: none; background: transparent; }
}


/* Single módban a calendar-wrapper szűk padding */
.calendar-wrapper.single-day-mode {
    padding-left: 5px;
    padding-right: 5px;
}
.calendar-wrapper.single-day-mode .day-box {
    margin-top: 5px;
}

/* Single módban az "esemény hozzáadás" gomb marginja */
.single-day-mode .day_event_up_button {
    margin-top: 0;
    margin-bottom: 15px;
}
/* ── END SINGLE DAY MODE ──────────────────────────────────────── */


		.d_menu_icon, .de_menu_icon, .dec_menu_icon {
		    position: absolute;
		    top: 10px;
		    right: 10px;
		    cursor: pointer;
		    font-size: 14px;
		    font-weight:normal;
		    color: gray;
		    cursor: pointer;
		    z-index: 2;
		}
		
		.d_menu_icon{top: 6px;}
		
		.dec_menu_icon{top:3px; right: 4px; color:#fff;}
		
		.d_menu, .de_menu, .dec_menu {
		    display: none;
		    position: absolute;
		    top: 10px;
		    right: 10px;
		    min-width:100px;
		    background-color: white;
		    border: 1px solid lightgray;
		    border-radius: 5px;
		    padding: 5px;
		    padding-top:17px;
		    font-size: 14px;
		    font-weight:normal;
		    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
		    /* 10: a gyors hozzáadás panel elemei fölé kerüljön, korábban (3) kitakarták */
		    z-index: 10;
		}
		
		
		
		.d_menu a, .de_menu a, .dec_menu a {
		    display: block;
		    padding: 5px 5px;	
		    margin: 5px 0;	    
		    text-decoration: none;
		    text-align: left;
		    cursor: pointer;
		}
		
		.d_menu a:hover, .de_menu a:hover, .dec_menu a:hover {
		    background-color: #f3f3f3; border-radius: 5px;
		}
		
		.d_menu .close, .de_menu .close, .dec_menu .close {
		    position: absolute;
		    top: 1px;
		    right: 3px;
		    cursor: pointer;
		    color: lightgray;
		    font-size: 18px;
		}
		
		.d_menu .close:hover, .de_menu .close:hover, .dec_menu .close:hover, .close_gray:hover {
		    color: gray;
		}
	   		
	  .de_datetype_div{float: left; position:relative; width: calc(100% - 0px); padding: 20px 10px; border:1.5px dashed rgba(141,141,141,0.4); border-radius:5px;} 		
	
	  
	  
/* AUTO UPLOAD */
	
	.all_row_day{
		float: left;
		width: calc(100% - 20px); 
	    max-width: calc(100% - 20px); 	    
	    text-align: left;
	    position: relative;
	    background-color: #f3f3f3;
	    color: #5c5c5c;
	    border: none;
	    padding: 3px 10px;
	    text-decoration: none;
	    margin-top:21px;
	    font-weight: normal;
	    box-shadow: 2px 2px 2px #a1a1a1;
	    -moz-box-shadow: 2px 2px 2px #a1a1a1;
	    -webkit-box-shadow: 2px 2px 2px #a1a1a1;
    }
		
		.all_row_day span {font-size: 12px;}
		
	.all_row{float:left; position:relative; width: 100%; margin-top:20px; padding: 8px 10px; width: calc(100% - 20px); border-radius: 5px; background-color: #f3f3f3;
		font-size: 14px;
	     box-shadow: 2px 2px 2px #a1a1a1;
	    -moz-box-shadow: 2px 2px 2px #a1a1a1;
	    -webkit-box-shadow: 2px 2px 2px #a1a1a1;
    }	
    	.all_row div{float:left; margin-right:8px;}
    		.all_row div input[type="checkbox"]{width:100%;}
    		
    		.all_event_isset_div{width:100%; margin-top:3px;}

/* Construct */
	
	#con_list_form tr th{padding:2px; text-align:center;}
	#con_list_form input[type=text] {width:calc(100% - 10px); padding: 4px 4px;}
	#con_list_form select{width:calc(100% - 10px); padding: 3px 4px; height:30px;}
	/* A "Szűrők törlése" gomb egységes modern kinézete – lásd a #con_list_form_sub
	   szabályt fentebb (fehér, szürke keret, barack hover). A régi rózsaszín + árnyék
	   itt volt, és mivel később áll a fájlban, felülírta a modernet. */
	#con_list_form_sub{
		height:30px; margin:0; padding:0 12px; font-size:12px; font-weight:normal;
		background:#fff; color:#666; border:1px solid #ddd; border-radius:6px;
		text-decoration:none; text-transform:none; cursor:pointer;
		box-shadow:none; -moz-box-shadow:none; -webkit-box-shadow:none; float:none;
	}
	#con_list_form_sub:hover{ background:#fde8cc; border-color:#e0a060; color:#444; }
    
    .cons_div_d_view_arrow{float: left; position:relative; margin:0px; margin-left:0px; margin-right:0px; padding-top:7px; padding-bottom:7px; padding-left:10px; width: calc(100% - 10px); color:#919191;}
	 		.cons_div_d_view_cont{float: left; position:relative; margin:0px;}
	 		
	 		.cons_view{position:relative; width:100%;}
	 		.cons_view_arrow{float: left; position:relative; text-align:left; 
	 		font-weight:normal; cursor: pointer;}
		 		.cons_view_arrow::after {
				    content: '\25BC';  /* Lefelé mutató nyíl */
				    font-size: 16px;
				    position: absolute;
				    right: 5px;
				    top: 50%;
				    transform: translateY(-50%);
				    transition: transform 0.3s ease;
				}				
				.cons_view_arrow.active::after {
				    transform: translateY(-50%) rotate(180deg);  /* Nyíl felfelé forgatása */
				}
				/* 826px alatt a hosszú "További szűrési feltételek..." helyett rövid "Szűrések" felirat */
				.cons_view_arrow .cvf-short{ display:none; }
				@media only screen and (max-width: 826px){
					.cons_view_arrow .cvf-full{ display:none; }
					.cons_view_arrow .cvf-short{ display:inline; }
				}

	 		.cons_view_cont{float: left; position:relative; width: 100%; border-top:1px solid #919191; color:#919191; text-align:left; font-weight:normal; margin-left:0px; margin-right:0px; padding:10px; width: calc(100% - 20px);}
				
				.cons_div_row{float: left; position:relative; width: 100%; margin-bottom:5px; margin-top: 5px; border-bottom: 1px solid #dadada;}
					.cons_div_row label{float: left; margin-right:5px; margin-bottom:0px; line-height:30px;}
					.cons_div_row span{float: left; margin-bottom:5px;}
					
					.cons_div_row input[type=text] {width:200px !important; max-width:calc(100%); padding: 7px 4px !important;}
					.cons_div_row select{min-width:200px; max-width:calc(100%); padding: 3px 4px; height:30px;}
				
				.con_roles{float:left; width: 100%; margin-top:10px;}
					.con_role{float:left; padding: 4px 10px; border-radius: 3px; font-size: 14px; font-weight: bold;}
				.con_roles_grid{float:left; width:100%; display:flex; flex-wrap:wrap; gap:8px; margin-top:6px;}
					.con_role_card{min-width:110px; padding:8px 10px; border-radius:8px; border:1.5px solid #e8e8e8; background:#fff; box-sizing:border-box; cursor:default;}
					.con_role_card.con_role_past{opacity:0.5;}
					.con_role_card_event{font-weight:bold; font-size:12px; margin-bottom:4px;}
					.con_role_card_date{color:#aaa; font-size:11px;}
					.con_role_card_ago{font-size:12px; color:#5c5c5c; font-weight:bold; margin-top:3px;}
				.roles_timeline{float:left; width:100%; display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;}
					.roles_pill{padding:7px 12px; border-radius:8px; color:#fff; min-width:80px; box-sizing:border-box;}
					.roles_pill_label{font-size:11px; opacity:0.85; white-space:nowrap;}
					.roles_pill_count{font-size:14px; font-weight:bold; margin-top:2px;}
				.roles_summary{float:left; width:100%; margin-top:6px; display:flex; flex-direction:column; gap:4px;}
					.roles_sum_row{font-size:13px; line-height:18px; color:#333;}
					.roles_sum_k{color:#888; margin-right:4px;}
					.roles_sum_v{font-weight:bold;}
					.roles_sum_sub{font-weight:normal; color:#888;}

#weekday_div div label{line-height: 14px;}
#week_div div label{line-height: 14px;}
				
/* System */
.js_popup button{margin: 12px 6px; padding: 3px 24px; font-size: 14px; text-transform: uppercase; border-radius: 3px;}
#confirmYes{background-color: #b31b02;}
	#confirmYes:hover{background-color: #e1644f;}
#sc_dup_confirm_btn, #pop_sc_dup_confirm_btn{background-color: #02b30f;}
	#sc_dup_confirm_btn:hover, #pop_sc_dup_confirm_btn:hover{background-color: #00cb0f;}
#confirmNo, #sc_dup_cancel_btn, #pop_sc_dup_cancel_btn, #pscv_dup_cancel_btn{background-color: #f7f3c0; color: #5c5c5c;}
	#confirmNo:hover, #sc_dup_cancel_btn:hover, #pop_sc_dup_cancel_btn:hover, #pscv_dup_cancel_btn:hover{background-color: #fbf9e0; color: #5c5c5c;}
#closePopup{color: #aaa; font-size: 18px;}
	#closePopup:hover{color: #444;}
.a_new button{background-color: #e8d0f7; color: #5c5c5c; text-transform: none;}
	.a_new button:hover{background-color: #be29d9; color: #fff;}
	   		
/* FOOTER */

#footer {
	float: left; position: relative;
	width: 100%;
	background: #1a2e1b;
	border-top: none;
	margin-top: 0;
	padding: 44px 0 32px;
}

	#footer_center {
	  margin: 0 auto;
	  padding: 0 20px;
	  max-width: 860px;
	  text-align: center;
	}

	#footer_center p {
	  color: rgba(255,255,255,0.38);
	  font-size: 11px;
	  margin-top: 20px;
	}

	#footer_center p a { color: rgba(255,255,255,0.5); }

	.footer_menu {
	  margin: 0;
	  padding: 0;
	}

	.footer_menu ul {
	  list-style-type: none;
	  padding: 0;
	  margin: 0;
	}

	.footer_menu ul li {
	  display: inline-block;
	  margin-right: 30px;
	  padding: 5px 0;
	}

	.footer_menu ul li a {
	  text-decoration: none;
	  color: rgba(255,255,255,0.68);
	  font-size: 14px;
	  transition: color 0.2s ease;
	}

	.footer_menu ul li a:hover { color: #e5a900; }

	.footer_menu ul li:first-child { margin-left: 0; }
	.footer_menu ul li:last-child  { margin-right: 0; }
   
/* ══════════════════════════════════════════════════════════
   PUBLIC FOOTER (scoped to body.pub-page)
   ══════════════════════════════════════════════════════════ */

body.pub-page #footer {
    background: #1a2e1b;
    border-top: none;
    margin-top: 0;
    padding: 44px 0px 32px;
}

body.pub-page #footer_center {
    margin: 0 auto;
    padding: 0 20px;
    max-width: 900px;
}

body.pub-page #footer_center p {
    color: rgba(255,255,255,0.38);
    font-size: 11px;
    margin-top: 20px;
    font-family: 'Poppins', Arial, sans-serif;
}

body.pub-page #footer_center p a {
    color: rgba(255,255,255,0.5);
}

body.pub-page .footer_menu ul li a {
    color: rgba(255,255,255,0.68);
    font-size: 14px;
    font-family: 'Poppins', Arial, sans-serif;
    transition: color 0.2s;
}

body.pub-page .footer_menu ul li a:hover {
    color: #e5a900;
}

.footer_brand {
    margin-bottom: 22px;
    text-align: center;
}

.footer_logo {
    text-decoration: none;
    font-weight: 800;
    font-size: 26px;
    font-family: 'Poppins', Arial, sans-serif;
    display: inline-block;
    margin-bottom: 4px;
}

.footer_logo span:first-child { color: #e5a900; }
.footer_logo span:last-child  { color: #02b30f; }

.footer_tagline {
    color: rgba(255,255,255,0.45);
    font-size: 13px;
    margin: 4px 0 0;
    font-family: 'Poppins', Arial, sans-serif;
}

@media (max-width: 555px) {
    .footer_menu ul li {
        display: block;
        margin-right: 0;
        margin-bottom: 8px;
    }
}
   
   
/* RESPONSIVE */

.margin_null{margin: 0;}


@media only screen and (max-width: 1530px) {
	/*#a_logo{width: calc(100% - 8px);}*/
	#a_search_form{}
}		

@media only screen and (max-width: 1300px) {
	
	.calendar-navigation2_div_p{position:relative; width:auto; float:none; margin:0 20px 0 0; padding:0; height:auto;}
		.calendar-navigation2_div_p2{display:flex; justify-content:flex-end; align-items:center; margin:0; padding:0; width:auto; position:relative;}  	
			.calendar-navigation2_div_p #calendar_pdf{margin-top: 12px;}
			#ca_pdf_status{position:absolute; top:104%; right:0; left:auto; width:100%; text-align:right;}      
		}
		
@media only screen and (max-width: 1200px) {
	
	.a_rapid_menu_arrow svg {
			 transform: rotate(360deg); /* SVG forgatása */				   
	}	
	.a_rapid_menu_cont {display: none; }
	.acv_fixed_bar { top: 0px; }
}
		

@media only screen and (max-width: 1150px) {
	.calendar-navigation {
	    width:100%;
	    height: 100px;
	}
	#calendarpdf_select{}
	#calendar_pdf {
        /*position: relative;*/       
    }  
   
}

@media only screen and (max-width: 900px) {
	#gray{padding-top:30px; width: 100%;}
	#a_menu{display:none;}
	#a_menu_ham_div{display: flex;}
	#a_logo{width: 170px;}
	
	#cont_f{min-height: auto;}
		#a_cont{min-height: auto;}
	.footer_div{width:100%; margin-top:5px;}	
	#a_search_form{float:left; width:350px; margin-left: 0px;}
		#a_search_input{width:100%;}
			#a_search_input input{width:100%;}
	#int_sum_button{position:relative; float:right; margin-bottom:20px; top: auto; right:auto;}
	#a_search_list{width:348px;}
	.con_off_e{font-size: 12px;}
	
	.cup_popup_sticky_header.cup_psh_sticky {	    
	    top: -32px;	    
	}
}	

@media only screen and (max-width: 825px) {
	.hi{display: none;}
	.a_view_name{width: 83%; font-size:18px;}
	.a_view_dose{width: 17%; font-size:18px;}
}

@media only screen and (max-width: 800px) {
	
	.co_quantity_shop{width: calc(19% - 48px) !important; min-width: 40px;}
	#ingredients-container-shop .ingredient-row .co_item {width: calc(50% - 23px) !important;}
	#ingredients-container-shop .ingredient-row .autocomplete-suggestions{width: calc(50% - 23px) !important;}
	.shopping_view_div{padding-left: 6px; padding-right: 6px; width: calc(100% - 32px);}
	.a_shopping_row{width: calc(101%); padding: 6px;}
	#a_menu_mobil{width:100%;}
}

@media only screen and (max-width: 780px) {
	.co_unit{min-width:50px !important}
}

@media only screen and (max-width: 660px) {
	#a_header{margin-top:0px; padding-bottom:3px; position:fixed; top:0px; left:0px; z-index: 11; border-bottom-width: 1px;}
	#a_logo{margin-bottom:5px;}	
	#a_search_form{float:left; width:100%; margin-left: 0px;}
		#a_search_input{width:100%;}
			#a_search_input input{margin-left:3px; margin-right:3px; margin-top:-2px; width:calc(100% - 6px);}	
	#a_search_list{width:calc(100% - 2px);}
	#a_cont{margin-top:90px;}
	/* Ahol nincs fejléc-kereső (constructs, criterias, items, titles, search-constructs), ott a kereső
	   sorának helye üresen maradna – lásd admin.php $_has_a_search. */
	#a_cont.a_cont_nosearch{margin-top:54px;}
	#fil_comps_div{margin-left:0px;}
	#calendar_up_view_div{padding:20px; padding-top: 15px; width: 100%; box-sizing: border-box;}	
	
	/*#fil_laws_div{float:right;}*/
	.a_view_name{font-size: 17px; line-height: 20px; width: 75%;} .a_view_dose{font-size: 17px; line-height: 20px; width: 25%;}
	.a_view_trying{font-size: 15px; line-height: 17px; width: 75%; margin-top: 5px;} .a_view_rank{font-size: 15px; line-height: 17px; width: 25%; margin-top: 5px;}
	.a_view_cat{font-size: 15px; line-height: 17px; width: 68%; margin-top: 0px; color:#02b30f;} .a_view_ctime{font-size: 15px; line-height: 17px; width: 32%; margin-top: 0px; color:#02b30f;}
	.a_view_dose_2a{font-size: 15px; line-height: 17px; width: 68%; margin-top: 0px;} .a_view_dose_2b{font-size: 15px; line-height: 17px; width: 32%; margin-top: 0px;}
	
	.co_quantity {min-width: 66px;}
	.co_item {width: calc(53% - 0px) !important;}
	.tox{max-width: calc(100% - 2px) !important;}
	.pop_d_view_arrow{padding: 10px;}	
	
     #slgenpdf_select {width: calc(100% - 100px);}
     #ingredients-container-shop .ingredient-row .co_item {width: calc(45% - 12px) !important; margin-right:3px;}
     #ingredients-container-shop .ingredient-row .autocomplete-suggestions{width: calc(48% - 23px) !important;}
     .co_quantity_shop {min-width: 40px;}
     
     .a_shopping_row{width: calc(101%); padding: 6px; padding-top: 18px; padding-bottom: 18px;}
     
     .anchor-target { scroll-margin-top: 105px;}
     
     #addIngredientBtn{float:none;}
     #addIngredientGroupBtn{float:none;}
     
     .acv_fixed_bar {
	        top: 90px;
	    }
     .acv_fixed_bar .a_title{display: none;}
     
     #dec_cont_cat{width:146px !important;}
}

@media only screen and (max-width: 660px) {
	.a_form_div {padding-left: 8px; padding-right: 8px;}
	#ingredients-container-shop .ingredient-row {margin-bottom: 18px;}
}

@media only screen and (max-width: 550px) {
	.day-box{width: 100%;}   	
	#ingredients-container-shop .ingredient-row .co_item {width: calc(41% - 0px) !important;}
    #ingredients-container-shop .ingredient-row .autocomplete-suggestions{width: calc(45% - 54px) !important;}
    #calendarpdf_select{max-width: 300px;}
    
}

@media only screen and (max-width: 590px) {	
    .co_unit{min-width: 60px !important;}
    
}

@media only screen and (max-width: 530px) {
	#calendarpdf_select{left: 0;}
	#calendar_pdf {right: 0;}    	
	#ingredients-container-shop .ingredient-row .co_item {width: calc(41% - 0px) !important;}
    #ingredients-container-shop .ingredient-row .autocomplete-suggestions{width: calc(41% - 54px) !important;}
}

@media only screen and (max-width: 500px) {
	#addIngredientGroupBtn{float:none;}
	#fil_comps_div{width:48%}
		#fil_comps_div select{width:100%}
	#fil_laws_div{width:48%; float:right; margin-right:0px;}
		#fil_laws_div select{width:100%}	
	.con_off_e{font-size: 11px;}		
	.co_quantity {min-width: 65px;}	
	#ingredients-container-shop .ingredient-row .co_item {width: calc(48% - 0px) !important;}
	#ingredients-container-shop .ingredient-row .autocomplete-suggestions{width: calc(48% - 54px) !important;}
	#calendarpdf_select{max-width: 250px;}
	#dec_cont_cat{width: calc(100% - 254px) !important;}
	#dec_search div label{float:left !important; margin-top:3px !important;}
}

@media only screen and (max-width: 450px) {
	.co_quantity {min-width: 65px;}
	.co_item {width: calc(53% - 46px) !important; font-size: 11px; padding: 8px 8px !important;}

	.a_back{margin-top:0px;}
	.a_back a{float:left; margin-left:0px;}
	#ingredients-container-shop .ingredient-row .co_item {width: calc(45% - 5px) !important; margin-right:3px;}
	#ingredients-container-shop .ingredient-row .autocomplete-suggestions{width: calc(45% - 54px) !important;}
	.co_quantity_shop {min-width: 33px; margin-right:3px;}
	#ingredients-container-shop .ingredient-row .co_unit{margin-right:3px; min-width: 50px;}
	#calendarpdf_select{max-width: 200px;}
	#sls_edit_link{font-size: 12px; float: left; width: 100%;}
	#sls_normal_link{font-size: 12px; float: left; width: 100%;}

	/* Vissza-gomb: csak az ikon (a szöveget font-size:0 rejti; az SVG saját mérete megmarad) */
	.cv-back{ font-size:0; gap:0; }
	.cv-actions{ margin-top: 18px; }
	.cv-tools-row{ margin-bottom: 10px; }
	.sl-top-row{ padding-top:5px; }
	.a_title{ margin-top:10px; font-size:15px; }
	.a_title svg{ width:15px; height:15px; }
	.a_new a{ margin-top:16px; padding:3px 13px; font-size:12px; }
	.a_lists{ margin-top:10px; }
	.a_limit_note{ margin: -5px 0 -3px; }
	.co_unit{ min-width: 66px !important; font-size: 11px; padding: 7px 8px !important; height: 30px !important; }
	/* width:41px csak akkor érvényesül, ha a fentebbi min-width:65px-öt is levisszük */
	.co_quantity{ min-width: 41px !important; width: 41px !important; font-size: 11px; padding: 8px 8px !important; }
	.row_del_button{ font-size: 14px !important; }
	/* gTable: a length-menü másodlagos felirata és a kereső címkéje eltűnik, a kereső placeholderré alakul */
	.dt-len-suffix{ display: none; }
	.dt-search-label{ display: none; }
	#gTable_filter input::placeholder{ font-style: italic; }
	#gTable_filter input::-webkit-input-placeholder{ font-style: italic; }
	#gTable_filter input::-moz-placeholder{ font-style: italic; opacity: 1; }
	#gTable_filter input:-ms-input-placeholder{ font-style: italic; }
}

@media only screen and (max-width: 400px) {
	.co_quantity {min-width: 24px; width: 24px !important;}
	.co_item {width: calc(53% - 46px) !important; font-size: 11px;}
	.ca_ing_group{display:none;}
	.ca_ing_group{display:none;}
	.cup_popup_sticky_header {    
	    width: calc(100% + 18px);
	    margin: -16px -20px 18px -10px;	   
	}
}


.pcv_share_link{color:#bbb; font-size:12px; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:3px;}
.pcv_share_link:hover{color:#555;}
.pcv_csere_span{color:#bbb; font-size:12px; cursor:pointer; display:inline-block;}
.pcv_csere_span:hover{color:#555;}

/* ══════════════════════════════════════════════════════════
   AUTH PAGES (login, reg, forgotpass, forgcode, regvalidation)
   ══════════════════════════════════════════════════════════ */

.pub-form-wrap {
    float: none;
    width: 100%;
    min-height: 58vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #f1fff3 0%, #fffef4 100%);
    padding: 50px 20px;
    box-sizing: border-box;
}

/* Override the green banner .a_title */
.pub-form-wrap .a_title {
    background: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    border: none !important;
    color: #1a2e1b !important;
    font-size: 1.55em !important;
    font-weight: 800 !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    float: none !important;
    text-align: center;
    width: 100%;
    max-width: 380px;
}

.pub-form-wrap .a_form_div {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(2,179,15,0.10), 0 2px 14px rgba(0,0,0,0.06);
    padding: 36px 36px 32px;
    width: 100% !important;
    max-width: 380px !important;
    margin: 0 !important;
    box-sizing: border-box;
}

.pub-form-wrap .a_form_row label {
    margin-top: 14px !important;
    margin-bottom: 4px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #4a5e4b;
    font-family: 'Poppins', Arial, sans-serif;
}

.pub-form-wrap .a_form_row input[type=text],
.pub-form-wrap .a_form_row input[type=password] {
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 10px !important;
    padding: 10px 13px !important;
    width: calc(100% - 26px) !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 14px !important;
    background: #fafafa !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    transition: border-color 0.2s, background 0.2s;
}

.pub-form-wrap .a_form_row input[type=text]:focus,
.pub-form-wrap .a_form_row input[type=password]:focus {
    outline: none !important;
    border-color: #02b30f !important;
    background: #fff !important;
}

.pub-form-wrap .a_form_row a {
    color: #02b30f;
    font-size: 13px;
    font-family: 'Poppins', Arial, sans-serif;
    text-decoration: none;
}

.pub-form-wrap .a_form_row a:hover { text-decoration: underline; }

.pub-form-wrap .a_form_submit button {
    background: #02b30f !important;
    border-radius: 50px !important;
    padding: 13px 0 !important;
    width: 100% !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    box-shadow: 0 4px 18px rgba(2,179,15,0.32) !important;
    -webkit-box-shadow: 0 4px 18px rgba(2,179,15,0.32) !important;
    -moz-box-shadow: 0 4px 18px rgba(2,179,15,0.32) !important;
    transition: background 0.18s, transform 0.15s !important;
    margin-top: 28px !important;
}

.pub-form-wrap .a_form_submit button:hover {
    background: #028a0c !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 26px rgba(2,179,15,0.42) !important;
}

/* ══════════════════════════════════════════════════════════
   LEGAL / TEXT PAGES (privacy, cookie_policy, dsa)
   ══════════════════════════════════════════════════════════ */

.pub-text-page {
    max-width: 820px;
    margin: 0 auto;
    padding: 50px 30px 64px;
}

.pub-text-page h2 {
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 1.65em;
    font-weight: 800;
    color: #1a2e1b;
    margin: 0 0 28px;
    padding-bottom: 14px;
    border-bottom: 2px solid #e2f5e3;
}

.pub-text-page h3 {
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 0.98em;
    font-weight: 700;
    color: #02870c;
    margin: 28px 0 8px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.pub-text-page p {
    color: #4a5e4b;
    line-height: 1.78;
    margin: 0 0 12px;
}

.pub-text-page ul {
    color: #4a5e4b;
    line-height: 1.78;
    padding-left: 22px;
    margin-bottom: 14px;
}

.pub-text-page li { margin-bottom: 6px; }
.pub-text-page a { color: #02b30f; }
.pub-text-page strong { color: #2a3e2b; }

.pub-text-page code {
    background: #f0f7f0;
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 0.87em;
    color: #2a5e2b;
}

/* ══════════════════════════════════════════════════════════
   OURSELVES PAGE
   ══════════════════════════════════════════════════════════ */

.pub-ourselves-wrap {
    float: left;
    width: 100%;
}

.pub-ourselves-wrap section.section {
    text-align: left;
    padding: 60px 30px;
    width: 100%;
    box-sizing: border-box;
}

.pub-ourselves-wrap .ourselves-hero {
    background: linear-gradient(145deg, #f1fff3 0%, #fffef4 100%);    
}

.pub-ourselves-wrap section.section h1 {
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 1.6em;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 auto 16px;
}

.pub-ourselves-wrap section.section h2 {
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 1.45em;
    font-weight: 700;
    margin: 0 0 18px;
}

.pub-ourselves-wrap section.section p {
    color: #4a5e4b;
    line-height: 1.75;
    margin: 0 0 10px;
    max-width: 780px;
}

.pub-ourselves-wrap .ourselves-hero p {
    max-width: 620px;
    margin: 0 auto 10px;
}

.pub-ourselves-wrap section.section ul {
    list-style: none;
    padding: 0;
    display: block;
    max-width: 780px;
}

.pub-ourselves-wrap section.section li {
    position: relative;
    padding: 11px 16px 11px 42px;
    margin-bottom: 8px;
    border-radius: 10px;
    background: rgba(255,255,255,0.75);
    color: #4a5e4b;
    line-height: 1.55;
    box-shadow: 0 1px 6px rgba(2,179,15,0.06);
}

.pub-ourselves-wrap section.section li::before {
    content: '✓';
    position: absolute;
    left: 14px;
    top: 11px;
    color: #02b30f;
    font-weight: 700;
    font-size: 0.9em;
}

.pub-ourselves-wrap section.section.gray {
    background: linear-gradient(180deg, #f5fef6 0%, #fdfffe 100%);
}

.pub-ourselves-wrap .section-content {
    max-width: 860px;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .pub-form-wrap { padding: 30px 16px; min-height: 50vh; }
    .pub-form-wrap .a_form_div { padding: 28px 22px 24px; }
    .pub-text-page { padding: 36px 20px 48px; }
    .pub-ourselves-wrap section.section { padding: 45px 20px; }
}

/* Új .day-box méretezés */
@media only screen and (max-width: 1800px) {
    .day-box { width: calc((100% - 40px) / 6); }
}

@media only screen and (max-width: 1550px) {
    .day-box { width: calc((100% - 32px) / 5); }
}

@media only screen and (max-width: 1300px) {
    .day-box { width: calc((100% - 24px) / 4); }
}

@media only screen and (max-width: 1050px) {
    .day-box { width: calc((100% - 16px) / 3); }
}

@media only screen and (max-width: 800px) {
    .day-box { width: calc((100% - 8px) / 2); }
}

@media only screen and (max-width: 660px) {
    .day-box { width: 100%; }
}

@media only screen and (max-width: 550px) {
    .day_event_name_title { cursor: default; user-select: auto; }
}


.cc_cal{float: none !important; display: inline !important;
	font-weight: bold !important;
;}

.cc_orange{color: #e5a900;}
.cc_green{color: #02b30f;}

.orange_c{color: #e5a900;}
.blue_c{color: #228fff;}

/* A js_popup (delDe/delDec stb. megerősítő) mögötti elsötétítés: a háttér ne legyen
   kattintható, a szürke területre kattintva a popup záródjon (a JS backdrop.onclick kezeli). */
/* z-index 9000/9001: a mobil alsó nav (#cc-wrap 8900, #cc-panel-overlay 8950) FÖLÖTT,
   hogy a szürke tényleg mindent letakarjon és semmi ne maradjon kattintható mögötte. */
.js_popup_backdrop{
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: rgba(10,20,12,0.62);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	z-index: 9000;
	cursor: pointer;
}
.js_popup{
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	padding: 20px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	z-index: 9001;
	width: 300px;
	text-align: center;
}
.purple_c{color: #be29d9;}


.sct2-follow-btn { background:none !important; border:none !important; padding:0 !important; margin:0 !important; color:inherit !important; cursor:pointer; display:flex; align-items:center; flex-shrink:0; border-radius:0 !important; box-shadow:none !important; -moz-box-shadow:none !important; -webkit-box-shadow:none !important; font-size:inherit !important; font-weight:normal !important; }
.sct2-follow-btn:hover, .sct2-follow-btn:focus { background:none !important; outline:none; box-shadow:none !important; }
.sct2-follow-btn .sct2-fp { fill:none; stroke:#b08828; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:fill 0.15s; }
.sct2-follow-btn.following .sct2-fp { fill:#b08828; }
.sct2-follow-btn .sct2-fplus { stroke:#b08828; stroke-width:2; stroke-linecap:round; transition:opacity 0.15s; }
.sct2-follow-btn.following .sct2-fplus { opacity:0; }
.sct2-like-btn { background:none !important; border:none !important; padding:0 0 0 6px !important; margin:0 !important; color:inherit !important; cursor:pointer; display:flex; align-items:center; margin-left:auto !important; flex-shrink:0; border-radius:0 !important; box-shadow:none !important; -moz-box-shadow:none !important; -webkit-box-shadow:none !important; font-size:inherit !important; font-weight:normal !important; }
.sct2-like-btn:hover, .sct2-like-btn:focus { background:none !important; outline:none; box-shadow:none !important; }
.sct2-like-btn .sct2-heart { fill:none; stroke:#df7304; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:fill 0.15s; }
.sct2-like-btn.liked .sct2-heart { fill:#df7304; }

/* --- Speciális input típusok egységes szélessége ---
   Megjegyzés: iOS 15-17 egy nyílt WebKit-bug miatt a width:100%-t
   inline-flex display miatt figyelmen kívül hagyja date/time inputoknál.
   iOS 18+ ezt natívan javította. display:block workaround szándékosan
   nincs itt, mert az egy másik WebKit-bugot triggerel (WebKit #139848). */
.a_form input[type="date"],
.a_form input[type="time"],
.shopping_view_div input[type="date"] {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	/*appearance: none;*/
	line-height: normal;
}
/* WebKit (Safari, Chrome) belső shadow-DOM padding normalizálás —
   nélküle a date/time input ~4px magasabb mint egy sima text input */
.a_form input::-webkit-datetime-edit,
.a_form input::-webkit-datetime-edit-fields-wrapper,
.a_form input::-webkit-datetime-edit-text,
.a_form input::-webkit-datetime-edit-hour-field,
.a_form input::-webkit-datetime-edit-minute-field,
.a_form input::-webkit-datetime-edit-day-field,
.a_form input::-webkit-datetime-edit-month-field,
.a_form input::-webkit-datetime-edit-year-field,
.shopping_view_div input::-webkit-datetime-edit,
.shopping_view_div input::-webkit-datetime-edit-fields-wrapper,
.shopping_view_div input::-webkit-datetime-edit-text,
.shopping_view_div input::-webkit-datetime-edit-hour-field,
.shopping_view_div input::-webkit-datetime-edit-minute-field,
.shopping_view_div input::-webkit-datetime-edit-day-field,
.shopping_view_div input::-webkit-datetime-edit-month-field,
.shopping_view_div input::-webkit-datetime-edit-year-field { padding: 0; }
.a_form input::-webkit-inner-spin-button,
.shopping_view_div input::-webkit-inner-spin-button { height: auto; }
.a_form input[type="range"] { width: 100%; }
.a_form input[type="color"] {
	width: 60px;
	height: 36px;
	padding: 2px;
	cursor: pointer;
	box-sizing: border-box;
}
@media (max-width: 768px) {
	.a_form input[type="date"],
	.a_form input[type="time"],
	.a_form select:not(.co_unit):not(.sl-ea-unit), /* a mértékegység- és a bev.lista extra-egység választó saját méretezést kap */
	.shopping_view_div input[type="date"] {
		font-size: 16px;
		min-width: 100px;
	}
}

#sl_start{display: inline; width: auto; -webkit-appearance: auto; font-size: 12px; border-radius: 6px; line-height: 12px;}
#sl_end{display: inline; width: auto; -webkit-appearance: auto; font-size: 12px; border-radius: 6px; line-height: 12px;}

@media (max-width: 550px) {
	#sl_period_lbl{float:left; width:100%; margin-bottom:7px !important;}
	#sl_start{ width: 100%; margin-bottom:10px !important;}
	#sl_end{ width: 100%;}
	#sl_period_dash{display: none;}
	#sl_download_bar{text-align:left !important;}
	#slgenpdf_select{width: calc(100% - 95px);}
}



/* --- Cookie Consent Banner --- */
#cc-wrap { position:fixed; bottom:0; left:0; right:0; z-index:8900; }
#cc-banner { background:#fff; border-top:1px solid #e0e0e0; padding:14px 24px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; box-shadow:0 -2px 12px rgba(0,0,0,0.09); }
#cc-banner-text { flex:1; min-width:200px; }
#cc-banner-text strong { display:block; font-size:14px; color:#1e2a38; margin-bottom:3px; font-weight:600; }
#cc-banner-text p { margin:0; font-size:12px; color:#555; line-height:1.5; }
#cc-banner-text a { color:#e5a900; }
#cc-banner-btns { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
#cc-reject-btn { background:#fff; color:#1e2a38; border:1px solid #c0c0c0; border-radius:4px; padding:8px 16px; font-size:13px; cursor:pointer; font-family:inherit; white-space:nowrap; }
#cc-reject-btn:hover { border-color:#888; }
#cc-settings-open-btn { background:none; color:#555; border:none; padding:8px 6px; font-size:12px; cursor:pointer; text-decoration:underline; font-family:inherit; white-space:nowrap; box-shadow:none; -webkit-box-shadow:none; }
#cc-settings-open-btn:hover { color:#1e2a38; }
#cc-accept-btn { background:#e5a900; color:#fff; border:none; border-radius:4px; padding:8px 20px; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; white-space:nowrap; }
#cc-accept-btn:hover { background:#c99200; }
/* Settings panel overlay */
#cc-panel-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:8950; display:none; align-items:center; justify-content:center; padding:16px; box-sizing:border-box; }
#cc-panel-box { background:#fff; border-radius:10px; width:100%; max-width:480px; box-shadow:0 8px 32px rgba(0,0,0,0.18); overflow:hidden; }
#cc-panel-header { background:#1e2a38; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; }
#cc-panel-header h3 { margin:0; color:#fff; font-size:15px; font-weight:600; }
#cc-panel-close { background:none; border:none; color:#8fa8c0; font-size:22px; cursor:pointer; padding:0; line-height:1; box-shadow:none; -webkit-box-shadow:none; }
#cc-panel-close:hover { color:#fff; }
#cc-panel-body { padding:14px 20px; max-height:55vh; overflow-y:auto; }
.cc-category { border-bottom:1px solid #f0f0f0; padding:10px 0; }
.cc-category:last-child { border-bottom:none; }
.cc-cat-header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:5px; }
.cc-cat-title { font-size:13px; font-weight:600; color:#1e2a38; }
.cc-cat-desc { margin:0; font-size:12px; color:#666; line-height:1.5; }
.cc-always-active { font-size:11px; color:#27ae60; font-weight:600; white-space:nowrap; }
.cc-toggle { position:relative; display:inline-block; width:40px; height:22px; flex-shrink:0; }
.cc-toggle input { opacity:0; width:0; height:0; position:absolute; }
.cc-toggle-slider { position:absolute; cursor:pointer; inset:0; background:#ccc; border-radius:22px; transition:background 0.25s; }
.cc-toggle-slider:before { content:''; position:absolute; height:16px; width:16px; left:3px; bottom:3px; background:#fff; border-radius:50%; transition:transform 0.25s; }
.cc-toggle input:checked + .cc-toggle-slider { background:#e5a900; }
.cc-toggle input:checked + .cc-toggle-slider:before { transform:translateX(18px); }
#cc-panel-footer { padding:10px 20px 14px; display:flex; gap:8px; justify-content:flex-end; border-top:1px solid #f0f0f0; flex-wrap:wrap; }
#cc-panel-reject-btn { background:#fff; color:#1e2a38; border:1px solid #c0c0c0; border-radius:4px; padding:7px 14px; font-size:12px; cursor:pointer; font-family:inherit; }
#cc-panel-reject-btn:hover { border-color:#888; }
#cc-panel-accept-btn { background:#e5a900; color:#fff; border:none; border-radius:4px; padding:7px 16px; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; }
#cc-panel-accept-btn:hover { background:#c99200; }
#cc-panel-save-btn { background:#02b30f; color:#fff; border:none; border-radius:4px; padding:7px 16px; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; }
#cc-panel-save-btn:hover { background:#028a0c; }
@media (max-width:600px) {
	#cc-banner { flex-direction:column; align-items:stretch; text-align:center; padding:12px 16px; }
	#cc-banner-btns { justify-content:center; }
	#cc-panel-footer { justify-content:center; }
}


/* ===== des1 Letöltés (export) gomb + lenyíló (a_calendar) – zöld, download ikon =====
   A rejtett #calendarpdf_select + #calendar_pdf marad (phpjs.php handler); a menüpontok
   csak beállítják a select értékét és triggerlik a gombot. */
.cal-export{ position:relative; display:inline-block; }
.cal-export .cal-export-btn{
	display:flex; align-items:center; gap:8px; float:none;
	background:#4f9eff; color:#fff; border:none; border-radius:30px;
	padding:10px 18px; margin:0; font-size:14px; font-weight:700; cursor:pointer;
	box-shadow:none; -moz-box-shadow:none; -webkit-box-shadow:none; transition:background .15s;
}
.cal-export .cal-export-btn:hover{ background:#3d87e6; }
.cal-export .cal-export-btn svg{ width:18px; height:18px; flex:0 0 auto; }
.cal-export-menu{
	display:none; position:absolute; right:0; top:calc(100% + 6px); z-index:60;
	min-width:230px; background:#fff; border:1px solid #e0e0e0; border-radius:12px;
	box-shadow:0 8px 26px rgba(0,0,0,0.12); padding:6px; box-sizing:border-box;
}
.cal-export-menu.cal-export-open{ display:block; }
.cal-export-menu .cal-export-item{
	display:block; width:100%; text-align:left; float:none;
	background:transparent; border:none; box-shadow:none; -moz-box-shadow:none; -webkit-box-shadow:none;
	padding:9px 12px; margin:0; font-size:14px; font-weight:normal; color:#333; cursor:pointer; border-radius:8px;
}
.cal-export-menu .cal-export-item:hover{ background:#f2f7f2; }

@media only screen and (max-width: 500px) {
	.calendar-navigation2_div_c{ padding-left:6px; gap:4px; }
	#prev-week.cal-nav-arrow, #next-week.cal-nav-arrow{ width:30px; height:30px; }
	#prev-week.cal-nav-arrow svg, #next-week.cal-nav-arrow svg{ width:15px; height:15px; }
	.cal-date-pill{ padding:6px 8px; font-size:12px; gap:4px; }
	.cal-date-pill .cal-date-ico{ width:14px; height:14px; }
	.calendar-navigation2_div_p{ margin:0 6px 0 0; }
	.cal-export .cal-export-btn{ padding:6px 10px; font-size:12px; gap:4px; }
	.cal-export .cal-export-btn svg{ width:14px; height:14px; }
}

/* ============================================================================
   RECEPT-NÉZET (rv-*) – közös megjelenés a publikus /recipe mintájára.
   Használja: /con_view (a_construct_view.php). Cél, hogy a többi recept-nézet
   (kereső-popup, naptár fogás-popup) is átvehesse ugyanezeket az osztályokat.
   ============================================================================ */
/* FIGYELEM: float NEM lehet rajta – a .a_view_div `margin:0 auto` középre igazítását ütné ki
   (floatolt elem nem tud auto marginnel középre állni). A belső float-okat clearfix zárja. */
.rv-wrap{ float:none; position:relative; margin:0 auto; max-width:800px; width:100%; box-sizing:border-box; }
.rv-wrap::after{ content:''; display:block; clear:both; }

/* Kép – kattintásra teljes méretben nyílik (lásd #rv-lb) */
.rv-wrap .rv-hero{ width:100%; height:300px; border:none; border-radius:10px; overflow:hidden;
	background:#fdeedd; margin-bottom:18px; cursor:zoom-in; position:relative; }
.rv-wrap .rv-hero img{ width:100%; height:100%; object-fit:cover; display:block; }
.rv-wrap .rv-hero-zoom{ position:absolute; right:10px; bottom:10px; width:30px; height:30px; border-radius:50%;
	background:rgba(255,255,255,.88); box-shadow:0 1px 4px rgba(0,0,0,.2); display:flex; align-items:center;
	justify-content:center; color:#5c5c5c; pointer-events:none; }
.rv-wrap .rv-hero-zoom svg{ width:16px; height:16px; }

/* Cím + meta */
.rv-wrap h1.rv-name{ float:left; width:100%; box-sizing:border-box; font-size:24px; font-weight:600; color:#000;
	margin:0 0 10px; line-height:1.25; }
.rv-wrap .rv-fav{ width:0.9em; height:0.9em; vertical-align:-0.1em; }
.rv-wrap .rv-meta{ float:left; width:100%; box-sizing:border-box; display:flex; flex-wrap:wrap; gap:8px;
	align-items:center; font-size:13px; color:#777; margin-bottom:16px; }
.rv-wrap .rv-meta > span{ display:inline-flex; align-items:center; gap:5px; }
.rv-wrap .rv-cat{ display:inline-block; font-size:12px; font-weight:600; border-radius:999px; padding:3px 11px;
	border:1px solid; color:#3a3a3a; }
.rv-wrap .rv-ic{ width:14px; height:14px; flex-shrink:0; }
/* CaCook-eredet jelölése (a név mögötti „ - CC" helyett) */
.rv-wrap .rv-src{ font-size:13px; font-weight:600; letter-spacing:0.02em; }
/* Eltérő adagnál az eredeti érték áthúzva (dec-nézet) */
.rv-wrap .rv-strike{ text-decoration:line-through; color:#afafaf; font-weight:400; }
/* Kipróbálva-jelölés */
.rv-wrap .rv-tried{ font-size:12px; color:#a0a0a0; }
.rv-wrap .rv-tried.is-tried{ color:#2e8b47; font-weight:600; }
/* Pontszám: színes kör, a receptek táblázatának skálájával (nincs „/10") */
.rv-wrap .rv-rank-w{ margin-left:auto; }
.rv-wrap .rv-rank{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px;
	box-sizing:border-box; font-size:13px; font-weight:700; border-radius:50%; line-height:1; }

/* Tápérték-csempék */
.rv-wrap .rv-nut-h{ float:left; width:100%; box-sizing:border-box; font-size:11px; font-weight:600; color:#df7304;
	letter-spacing:0.3px; margin:0 0 6px; }
.rv-wrap .rv-nut{ float:left; width:100%; box-sizing:border-box; display:flex; gap:8px; }
/* box-sizing KELL (nincs globális border-box reset): e nélkül a 660px alatti
   flex-basis:calc(50% - 4px) a CONTENT szélességre vonatkozna, és a +2*4px padding
   +2*1px keret miatt két csempe már nem férne egy sorba → mindegyik külön sorba esne. */
.rv-wrap .rv-nut > div{ flex:1; min-width:0; box-sizing:border-box; text-align:center; background:#f7faf7;
	border:1px solid #e8efe8; border-radius:9px; padding:10px 4px; }
.rv-wrap .rv-nut b{ display:block; color:#1a2e1b; font-size:18px; font-weight:600; line-height:1.15; }
.rv-wrap .rv-nut span{ font-size:10px; color:#787878; line-height:1.1; }
.rv-wrap .rv-star{ color:#e67e22; }

/* Keretes blokkok */
/* position:relative KELL: a .cv_pop_edit_btn („Recept szerkesztése") absolute-tal a blokk jobb felső
   sarkába ül – enélkül a legközelebbi pozicionált őshöz (.rv-wrap) igazodna, azaz a kép fölé. */
.rv-wrap .rv-block{ float:left; width:100%; box-sizing:border-box; position:relative; background:#fff;
	border:1px solid #efefef; border-radius:10px; padding:14px 16px 16px; margin:16px 0 0; }
.rv-wrap .rv-block-label{ display:block; font-size:15px; font-weight:600; color:#2a2a2a; margin-bottom:10px; }
.rv-wrap .rv-desc{ font-size:14px; line-height:1.7; color:#3a3a3a; }
.rv-wrap .rv-desc p{ margin:0 0 10px; }
.rv-wrap .rv-desc p:last-child{ margin-bottom:0; }

/* Hozzávalók */
.rv-wrap .rv-ings{ list-style:none; margin:0; padding:0; }
.rv-wrap .rv-ings li{ padding:7px 2px; border-bottom:1px solid #f2f2f2; font-size:14px; color:#3a3a3a; }
.rv-wrap .rv-ings li:last-child{ border-bottom:none; padding-bottom:0; }
.rv-wrap .rv-ings li.rv-ing-group{ font-weight:600; color:#c8801c; border-bottom:none; padding-top:12px; }
.rv-wrap .rv-ing-q{ display:inline-block; min-width:86px; color:#505050; font-weight:600; }

/* „Tartalmaz" címkék */
.rv-wrap .rv-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.rv-wrap .rv-tag{ display:inline-block; font-size:12px; border-radius:999px; padding:3px 11px; }

/* Forrás-linkek */
.rv-wrap .rv-link-row{ display:flex; align-items:center; gap:7px; font-size:13px; padding:3px 0; }
.rv-wrap .rv-link-row a{ color:#4f9eff; text-decoration:none; word-break:break-all; }
.rv-wrap .rv-link-row a:hover{ text-decoration:underline; }
.rv-wrap .rv-link-row .rv-ic{ color:#aaa; }

/* Tápérték-táblák – a naptár heti összegzőjének (wns-table) dizájnja, des1 meleg színekkel */
.rv-wrap .rv-tbl-wrap{ overflow-x:auto; margin-top:6px; border:1px solid #efe5d8; border-radius:12px; }
.rv-wrap .rv-tbl, .rv-wrap .rv-tbl2{ font-size:12.5px; border-collapse:collapse; width:100%; font-variant-numeric:tabular-nums; }
.rv-wrap .rv-tbl thead th, .rv-wrap .rv-tbl2 thead th{ background:#faf2e8; color:#d9772a; font-size:11px;
	font-weight:600; padding:8px 14px; text-align:right; white-space:nowrap; }
.rv-wrap .rv-tbl thead th:first-child, .rv-wrap .rv-tbl2 thead th:first-child{ text-align:left; }
.rv-wrap .rv-tbl tbody td, .rv-wrap .rv-tbl2 tbody td{ padding:8px 14px; color:#7a6d5e; text-align:right; white-space:nowrap; }
.rv-wrap .rv-tbl tbody td:first-child, .rv-wrap .rv-tbl2 tbody td:first-child{ text-align:left; font-weight:500; }
.rv-wrap .rv-tbl tbody tr:nth-child(even), .rv-wrap .rv-tbl2 tbody tr:nth-child(even){ background:#fbf6ef; }
.rv-wrap .rv-tbl .rv-strong{ font-weight:600; color:#2e2a25; }
.rv-wrap .rv-tbl .rv-mut{ color:#b3a695; }
.rv-wrap .rv-tbl2{ min-width:560px; }
.rv-wrap .rv-tbl2-sub td{ background:#faf2e8; color:#b3a695; font-size:10px; font-weight:400; padding:0 14px 6px;
	text-align:right; white-space:nowrap; }
.rv-wrap .rv-tbl2 .rv-sub{ color:#b3a695; font-size:10px; font-weight:400; line-height:1.2; }
.rv-wrap .rv-tbl2 .rv-g{ font-weight:600; color:#c8801c; text-align:left; }
.rv-wrap .rv-tbl2 .rv-dash{ color:#ddd2c4; }
.rv-wrap .rv-tbl2 tbody td.rv-mut{ color:#b3a695; }
/* „Összes" jelölés (des1 narancs #d9772a):
   - rv-tbl2 részletes bontás: a magyarázó sor első cellája „Σ / fő" (rv-sum-h, balra), a Σ narancs (rv-sum-sign),
     és a sorok ÖSSZES (felső) értékei is narancsak; a / fő (rv-sub) marad barna.
   - rv-tbl fő tápérték-tábla: az „Összesen" oszlop (td.rv-mut) narancs – a fejléc marad szöveg (kifér). */
.rv-wrap .rv-sum-sign{ color:#d9772a; font-weight:600; }
.rv-wrap .rv-tbl2-sub td.rv-sum-h{ text-align:left; }
.rv-wrap .rv-tbl2 tbody td.rv-r{ color:#d9772a; }
.rv-wrap .rv-tbl tbody td.rv-mut{ color:#d9772a; }
.rv-wrap .rv-note{ font-size:11px; color:#e67e22; margin-top:6px; }
.rv-wrap .rv-det{ margin-top:12px; border-top:1px solid #f2f2f2; padding-top:8px; }
.rv-wrap .rv-det > summary{ cursor:pointer; font-size:13px; color:#666; user-select:none; padding:3px 0; }
.rv-wrap .rv-det > summary:hover{ color:#df7304; }

/* Művelet-blokk (étkezéshez adás) */
.rv-wrap .rv-actions{ float:left; width:100%; box-sizing:border-box; margin-top:20px; background:#fbf3ea;
	border:1px solid #eaddca; border-radius:14px; padding:16px 18px; }
.rv-wrap .rv-f-row{ display:flex; align-items:center; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.rv-wrap .rv-f-row label{ flex:0 0 auto; min-width:130px; font-size:13px; color:#666; margin:0; float:none; }
.rv-wrap .rv-f-row select, .rv-wrap .rv-f-row input[type=number]{ flex:1; min-width:0; height:34px; border:1px solid #ddd;
	border-radius:6px; padding:0 8px; font-size:13px; background:#fff; color:#444; box-sizing:border-box; }
.rv-wrap .rv-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
	background:#ecfbed; color:#007d08; border:1.5px solid #d7f5d9; border-radius:10px;
	padding:9px 20px; font-weight:600; font-size:14px; cursor:pointer; margin:4px 0 0; float:none;
	box-shadow:none; -webkit-box-shadow:none; -moz-box-shadow:none;
	transition:background .15s, border-color .15s, color .15s; }
.rv-wrap .rv-btn .cc-add-ico{ flex:0 0 auto; }
.rv-wrap .rv-btn:hover{ background:#00890a; border-color:#00890a; color:#fff; }

/* Kép-nagyító (lightbox) */
#rv-lb{ position:fixed; inset:0; z-index:100000; display:none; align-items:center; justify-content:center;
	padding:28px; background:rgba(20,14,8,.82); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
	cursor:zoom-out; box-sizing:border-box; }
#rv-lb.rv-lb-on{ display:flex; animation:rvLbIn .18s ease-out; }
#rv-lb img{ max-width:100%; max-height:100%; width:auto; height:auto; border-radius:10px;
	box-shadow:0 18px 60px rgba(0,0,0,.55); display:block; animation:rvImgIn .22s cubic-bezier(.2,.8,.3,1); }
#rv-lb .rv-lb-x{ position:absolute; top:14px; right:18px; width:36px; height:36px; padding:0;
	background:rgba(255,255,255,.12); color:#fff; border:none; border-radius:50%; font-size:26px; line-height:1;
	cursor:pointer; box-shadow:none; display:flex; align-items:center; justify-content:center; transition:background .15s; }
#rv-lb .rv-lb-x:hover{ background:rgba(255,255,255,.25); }
@keyframes rvLbIn{ from{ opacity:0; } to{ opacity:1; } }
@keyframes rvImgIn{ from{ opacity:0; transform:scale(.94); } to{ opacity:1; transform:scale(1); } }

/* A .rv-wrap max 800px és középre igazít, így 820px felett magától van oldalköze.
   820px alatt viszont a képernyő széléhez tapadna – az OLDAL-változatnak (con_view, #a_cont
   közvetlen gyereke) kell a 10-10px; a popup-változatoknak saját paddingjuk van. */
@media only screen and (max-width: 820px){
	#a_cont > .rv-wrap{ padding-left:10px; padding-right:10px; }
}

@media only screen and (max-width: 660px){
	.rv-wrap .rv-hero{ height:190px; }
	.rv-wrap h1.rv-name{ font-size:21px; }
	.rv-wrap .rv-nut{ flex-wrap:wrap; }
	.rv-wrap .rv-nut > div{ flex:1 1 calc(50% - 4px); }
	.rv-wrap .rv-block{ padding:12px 12px 14px; }
	.rv-wrap .rv-f-row label{ min-width:100%; }
	#rv-lb{ padding:12px; }
	#rv-lb .rv-lb-x{ top:8px; right:10px; }
}

/* --- rv-* kiegészítések a naptár fogás-popupjához (pop_construct_view.php) --- */
/* Forrás-sáv: honnan van a recept | jobbra a fogás/adag cseréje */
.rv-wrap .rv-src-bar{ display:flex; justify-content:space-between; align-items:center; gap:10px;
	flex-wrap:wrap; margin-bottom:10px; font-size:12px; }
.rv-wrap .rv-src-l{ display:inline-flex; align-items:center; gap:6px; min-width:0; }
.rv-wrap .rv-src-ok{ color:#02b30f; }
.rv-wrap .rv-src-warn{ color:#e5a900; }
.rv-wrap .rv-src-blue{ color:#4f9eff; }
.rv-wrap .rv-src-mut{ color:#bbb; }
/* Fogás/adag cseréje űrlap fejléce */
.rv-wrap .rv-decedit-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.rv-wrap .rv-decedit-x{ cursor:pointer; color:#bbb; font-size:15px; line-height:1; padding:2px 5px; display:inline-block; }
/* Értékelés (közösségi recept) – a meta-sorban, a pontszám helyén */
.rv-wrap .rv-rate-x{ margin-left:6px; font-size:12px; color:#aaa; background:none; border:none; cursor:pointer;
	box-shadow:none; padding:0; }
/* Kedvenc-csillag a címben (kattintható) */
.rv-wrap h1.rv-name .cons-fav-icon{ width:0.9em; height:0.9em; vertical-align:-0.1em; }

/* --- rv-* POPUP-változat (pop_share_recipe_view.php; később a többi popup is átveheti) ---
   A felső sáv a bezáró X helye, hogy az ne lógjon a képre. */
.rv-wrap.rv-pop{ padding-top:26px; }
#calendar_up_view_div .close_gray.rv-close{
	top:6px; right:8px; width:24px; height:24px; font-size:22px; line-height:1;
	background:none !important; border:none !important; box-shadow:none !important; color:#b0b0b0;
}
#calendar_up_view_div .close_gray.rv-close:hover{ background:none !important; color:#df7304; }
.rv-wrap .rv-nick{ font-size:14px; font-weight:600; color:#444; }

@media only screen and (max-width: 440px){
	/* Kisebb pontszám-kör, hogy a meta-sorban maradjon a helye */
	.rv-wrap .rv-rank{ width:24px; height:24px; }
}

@media only screen and (max-width: 400px){
	/* Az ÉRTÉKELŐ widget (közösségi recept popup: „Értékelem" gomb / 1-10 számsor) nem fér ki a meta-sorba:
	   teljes szélességben, új sorba kerül. A sima pontszám-kör viszont kifér, arra NE vonatkozzon –
	   ezért :has()-szal csak akkor teljes szélességű a wrapper, ha tényleg az értékelő van benne.
	   (Ha egy böngésző nem tudja a :has()-t, a szabály egyszerűen nem érvényesül = a kör marad a sorban,
	   ami épp a kívánt alapállapot. Kifér-e: a .rv-meta flex-wrap:wrap miatt magától tördel, ha nem.) */
	.rv-wrap .rv-rank-w:has(#pcv_rate_wrap),
	.rv-wrap .rv-rank-w:has(#pcv_rate_nums){ margin-left:0 !important; width:100%; }
	.rv-wrap #pcv_rate_wrap, .rv-wrap #pcv_rate_nums{ display:block; width:100%; }
}

/* Étkezés-/nap-összefoglaló popup (pop_de_sum.php, pop_d_sum.php): a blokkoknak alsó térköz kell,
   különben a hozzávaló-lista ráfut az alatta következő .shopping_view szakaszra.
   SZÁNDÉKOSAN nem a .rv-block-ra megy: az általános, több nézetben használt osztály. */
.rv-wrap.rv-sum{ margin-bottom:18px; }
