

:root{
	--bg:#fbfbfc;
	--card:#ffffff;
	--muted:#6b7280;
	--accent:#ff6b35;
	--accent-600:#e85a2a;
	--glass: rgba(255,255,255,0.7);
	--shadow: 0 8px 24px rgba(16,24,40,0.06);
}

.hidden{display:none !important}

/* Global container to center content */
.container{max-width:1100px;margin:0 auto;padding:0 18px}

/* Header / Hero */
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:3px 0;gap:16px;width:100%}
.brand{flex:0 0 auto;min-width:0;margin-left:0}
.header-actions{display:flex;gap:10px;align-items:center;flex:0 0 auto;margin-right:0}
.brand h1{margin:0;font-family:Poppins,Inter,system-ui,Arial,sans-serif;font-size:34px;color:var(--accent-600);font-weight:700;letter-spacing:0.2px;line-height:1.06;overflow-wrap:break-word;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand .tagline{margin:6px 0 0 0;color:var(--muted);font-size:14px}
.header-actions button#open-admin{padding:8px 8px;border-radius:10px;border:none;background:linear-gradient(135deg,#ff8c5a,#ff6b35);color:#fff;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:16px;box-shadow:0 2px 8px rgba(255,107,53,0.3);transition:all 0.2s ease}
.header-actions button#open-admin:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,107,53,0.4);background:linear-gradient(135deg,#ff9d6b,#ff7a45)}
.header-actions button#open-admin:active{transform:translateY(0)}
.header-actions .user-icon{display:inline-block;width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(1)}
.header-actions .chev{display:inline-block;width:16px;height:16px;color:#fff;vertical-align:middle;flex-shrink:0}

/* Search row under header, full width */
.header-search{padding:1px 0}
.header-search .search-row{display:flex;align-items:center;position:relative;max-width:820px;margin:0 auto;height:48px;padding:0 6px}
/* rounded container that visually contains input + icon */
.header-search .search-row::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:#f4f2f7;border-radius:50px;border:2px solid rgba(74,58,97,0.10)}
.header-search .search-row > input[type="search"],
.header-search .search-row > button{position:relative}
.header-search .search-row > input[type="search"]{display:block;position:relative;z-index:2;width:100%;padding:10px 52px 10px 18px;border-radius:50px;border:none;background:transparent;font-size:15px;font-family:Poppins,Inter,system-ui,Arial,sans-serif;color:#222;height:100%;line-height:1.2;box-shadow:none}
.header-search .search-row > input[type="search"]:focus{outline:none;box-shadow:none}
.header-search .search-row > input[type="search"]::-webkit-input-placeholder{color:#757575}
.header-search .search-row > input[type="search"]::-moz-placeholder{color:#757575}
.header-search .search-row > input[type="search"]:-ms-input-placeholder{color:#757575}
.header-search .search-row > input[type="search"]::placeholder{color:#757575}
/* place the button inside the rounded rectangle */
.header-search .search-row > button{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:none;background:transparent;color:#4a3a61;cursor:pointer}
.header-search .search-row > button:focus{outline:none}
.header-search .search-row > button svg{display:block;stroke:currentColor;fill:none}

/* Categories */
.categories{display:flex;gap:10px;padding:14px 0;overflow-x:auto}
.categories button{padding:8px 12px;border-radius:999px;border:1px solid rgba(15,23,42,0.04);background:#fff;cursor:pointer;font-weight:600;color:#111}
.categories button.active{background:linear-gradient(90deg,var(--accent),var(--accent-600));color:#fff;border-color:transparent}

/* Recipes grid tweaks */
.recipes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;padding:20px 0 60px}
.card{border-radius:12px;overflow:hidden}
.card .card-body{padding:16px}
.card .title{font-size:17px}
.card .meta{font-size:13px;color:var(--muted)}

/* Favorite button style */
.card .actions button{background:transparent;border:none;padding:6px 8px;font-size:16px}
.card .actions button[title="Preferito"]{color:#e11d48}

.site-footer{padding:18px 0;color:var(--muted);border-top:1px solid rgba(2,6,23,0.03);margin-top:40px}
.site-footer .container small{display:block;text-align:center}

/* small screens */
@media (max-width:700px){
	.site-header{padding:12px 18px}
	/* keep title and manage button on one row on mobile; hide tagline to save space */
	.header-inner{flex-direction:row;align-items:center;gap:10px}
	.brand{flex:1}
	.brand h1{font-size:20px}
	.brand .tagline{display:none}
	.header-actions{display:flex;align-items:center;gap:8px}
	.header-actions button#open-admin{min-width:44px;padding:6px 6px;gap:4px}
	.header-search input[type="search"]{width:100%}
	.recipes-list{grid-template-columns:1fr;gap:14px}
	.card img{height:200px}
	.card .card-body{padding:14px}
	.categories{padding:10px 0}
}
/* Mobile admin bottom-sheet */
@media (max-width:700px){
	.admin{left:12px;right:12px;bottom:12px;top:auto;width:auto;max-height:85vh;border-radius:16px 16px 0 0}
	.admin.hidden{display:none}
	.admin.open{display:flex;transform:translateY(0)}
	.admin{transition:transform .3s ease,opacity .3s ease}
	.admin-header{padding:16px}
	.admin-content{padding:16px}
	.admin-row{flex-direction:column;align-items:stretch}
	.admin-row input[type="password"]{min-width:100%}
	.modal-content{max-width:100%;margin:12px;border-radius:12px}
}

/* Larger touch targets */
button, .header-actions input, .recipe-form input, .recipe-form select{touch-action:manipulation}



*{box-sizing:border-box}
html,body{height:100%}
body{
	margin:0;
	background:linear-gradient(180deg,#fbfcfd 0%, #ffffff 100%);
	color:#0f172a;
	font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

.site-header{
	display:flex;align-items:center;justify-content:space-between;padding:8px 0;background:transparent;margin-bottom:1px;width:100%
}
.site-header .container{padding:0 28px}
.site-header h1{margin:0;font-family:Poppins,Inter,system-ui,Arial,sans-serif;font-size:34px;color:var(--accent-600);font-weight:700;line-height:1.06}
.header-actions button{
	padding:8px 14px;border-radius:10px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;box-shadow:var(--shadow)
}

.categories{
	display:flex;gap:10px;padding:12px 20px;overflow-x:auto;margin-bottom:6px
}
.categories button{
	white-space:nowrap;padding:8px 14px;border-radius:999px;border:1px solid rgba(15,23,42,0.06);background:linear-gradient(180deg,#fff,#fff);cursor:pointer;color:#0f172a;font-weight:600;box-shadow:0 2px 6px rgba(2,6,23,0.04)
}
.categories button.active{background:linear-gradient(90deg,var(--accent),var(--accent-600));color:#fff;border-color:transparent;transform:translateY(-2px)}

.recipes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;padding:20px 20px 80px}

.card{
	background:var(--card);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-height:220px;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease;border:1px solid rgba(15,23,42,0.04);cursor:pointer
}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(2,6,23,0.08)}
.card img{width:100%;height:160px;object-fit:cover;display:block}
.card .card-body{padding:14px;display:flex;flex-direction:column;gap:8px}
.card .title{font-weight:700;font-size:16px;color:#091124}
.card .meta{font-size:13px;color:var(--muted)}
.card .actions{margin-top:auto;display:flex;gap:8px}
.card .actions button{flex:1;padding:8px 10px;border-radius:10px;border:none;background:#f3f4f6;cursor:pointer;font-weight:600}
.card .actions button:first-child{background:linear-gradient(90deg,#fff,#fff);border:1px solid rgba(2,6,23,0.04)}
.card .actions button:hover{opacity:.95}

.placeholder{
	min-height:160px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fff,#fbfbfb);color:var(--muted);font-weight:600
}

/* Admin Overlay */
.admin-overlay{
	position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.4);backdrop-filter:blur(2px);z-index:998;transition:opacity 0.3s ease
}
.admin-overlay.hidden{display:none}

/* Admin Panel */
.admin{
	position:fixed;right:20px;top:96px;width:420px;max-height:calc(100vh - 120px);background:linear-gradient(180deg,#fff,#fbfbfc);border-radius:16px;padding:0;border:1px solid rgba(2,6,23,0.06);box-shadow:0 24px 60px rgba(2,6,23,0.12);z-index:999;display:flex;flex-direction:column;overflow:hidden;transition:transform 0.3s ease,opacity 0.3s ease
}
.admin.hidden{display:none}
.admin-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(2,6,23,0.06);background:linear-gradient(135deg,var(--accent),var(--accent-600))}
.admin-header-content{flex:1}
.admin-header h2{margin:0;font-size:20px;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px}
.admin-stats{display:flex;gap:8px;margin-top:8px}
.stat-badge{background:rgba(255,255,255,0.2);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;backdrop-filter:blur(10px)}
.close-admin{background:rgba(255,255,255,0.2);border:none;width:36px;height:36px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background 0.2s;backdrop-filter:blur(10px)}
.close-admin:hover{background:rgba(255,255,255,0.3)}
.close-admin svg{width:18px;height:18px;stroke:#fff}

.admin-content{overflow-y:auto;padding:20px;flex:1}
.admin-section{margin-bottom:24px}
.admin-section:last-child{margin-bottom:0}
.section-title{font-size:16px;font-weight:700;color:#0f172a;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.section-header .section-title{margin-bottom:0}

/* Input Groups */
.input-group{flex:1;display:flex;flex-direction:column;gap:6px}
.input-group label{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:4px}
.admin-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.admin-row input[type="password"]{flex:1;min-width:200px;padding:12px;border-radius:10px;border:2px solid rgba(2,6,23,0.08);background:#fff;font-size:14px;transition:border-color 0.2s}
.admin-row input[type="password"]:focus{outline:none;border-color:var(--accent)}

/* Buttons */
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-600));color:#fff;border:none;padding:12px 20px;border-radius:10px;font-weight:600;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;box-shadow:0 4px 12px rgba(255,107,53,0.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,107,53,0.4)}
.btn-primary:active{transform:translateY(0)}
.btn-secondary{background:#f3f4f6;color:#0f172a;border:2px solid rgba(2,6,23,0.08);padding:12px 20px;border-radius:10px;font-weight:600;cursor:pointer;transition:background 0.2s}
.btn-secondary:hover{background:#e5e7eb}
.btn-small{padding:8px 16px;font-size:13px}
.btn-tool{background:#fff;color:#0f172a;border:2px solid rgba(2,6,23,0.08);padding:12px 16px;border-radius:10px;font-weight:600;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:8px;width:100%;justify-content:flex-start;margin-bottom:8px;box-shadow:0 2px 4px rgba(2,6,23,0.04)}
.btn-tool:hover{background:#f9fafb;border-color:var(--accent);transform:translateX(4px)}
.btn-tool span{font-size:16px}
.btn-danger{color:#dc2626;border-color:rgba(220,38,38,0.2)}
.btn-danger:hover{background:#fef2f2;border-color:#dc2626}

/* Form */
.recipe-form{display:flex;flex-direction:column;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:13px;font-weight:600;color:var(--muted)}
.recipe-form input,.recipe-form select{width:100%;padding:12px;border-radius:10px;border:2px solid rgba(2,6,23,0.08);background:#fff;font-size:14px;transition:border-color 0.2s;font-family:inherit}
.recipe-form input:focus,.recipe-form select:focus{outline:none;border-color:var(--accent)}
.recipe-form select{cursor:pointer}
.form-actions{display:flex;gap:12px;margin-top:8px}
.form-actions button{flex:1}

/* Admin Tools */
.admin-tools{display:flex;flex-direction:column;gap:0}
.import-group{position:relative;width:100%}
.file-input{position:absolute;opacity:0;width:0;height:0}
.import-group label{display:block;width:100%}

/* Recipes Admin List */
.recipes-admin-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.recipe-admin-item{background:#fff;border:2px solid rgba(2,6,23,0.08);border-radius:10px;padding:12px;display:flex;align-items:center;justify-content:space-between;transition:all 0.2s}
.recipe-admin-item:hover{border-color:var(--accent);box-shadow:0 4px 12px rgba(2,6,23,0.08)}
.recipe-admin-info{flex:1;min-width:0}
.recipe-admin-title{font-weight:600;color:#0f172a;margin-bottom:4px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recipe-admin-meta{font-size:12px;color:var(--muted)}
.recipe-admin-actions{display:flex;gap:6px;align-items:center}
.recipe-admin-actions button{background:transparent;border:1px solid rgba(2,6,23,0.1);padding:6px 10px;border-radius:6px;cursor:pointer;font-size:12px;transition:all 0.2s;min-width:auto}
.recipe-admin-actions button:hover:not(:disabled){background:#f3f4f6}
.recipe-admin-actions button:disabled{opacity:0.4;cursor:not-allowed}
.recipe-admin-actions .btn-edit{color:var(--accent);border-color:var(--accent)}
.recipe-admin-actions .btn-delete{color:#dc2626;border-color:#dc2626}
.recipe-admin-item[style*="border-left"]{background:#fffef7}
.recipe-admin-actions > div{display:flex;flex-direction:column;gap:2px}
.recipe-admin-actions > div button{min-width:32px;padding:2px 6px;font-size:14px;line-height:1}

/* Messages */
.admin-message{min-height:20px;font-size:13px;margin-top:8px;padding:8px;border-radius:8px;display:none}
.admin-message.success{background:#d1fae5;color:#065f46;display:block;border:1px solid #10b981}
.admin-message.error{background:#fee2e2;color:#991b1b;display:block;border:1px solid #ef4444}

/* Modal */
.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.modal.hidden{display:none}
.modal-content{background:#fff;border-radius:16px;width:100%;max-width:400px;box-shadow:0 24px 60px rgba(2,6,23,0.2);overflow:hidden}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(2,6,23,0.06);background:linear-gradient(135deg,var(--accent),var(--accent-600))}
.modal-header h3{margin:0;color:#fff;font-size:18px;font-weight:700}
.modal-close{background:rgba(255,255,255,0.2);border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.modal-close:hover{background:rgba(255,255,255,0.3)}
.modal-body{padding:20px}
.modal-footer{display:flex;gap:12px;padding:20px;border-top:1px solid rgba(2,6,23,0.06);justify-content:flex-end}
.modal-footer button{min-width:100px}

/* Responsive */
@media (max-width:900px){
	.recipes-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:16px}
	.admin{position:fixed;left:12px;right:12px;bottom:12px;top:auto;width:auto;max-height:85vh}
}