/* Novamira: shared header/footer/tab-bar styling — copied verbatim from the
   custom design already used on Home, Servizi, Progetti, Contatti, so that
   pages rendered by the theme (Blog, single posts, archives) match exactly. */

.ecomm-page {
	--black: #111111;
	--white: #ffffff;
	--accent: #e08b3e;
	--accent-hover: #c97731;
	--gray-50: #fafafa;
	--gray-100: #f0f0f0;
	--gray-200: #ececec;
	--gray-300: #e5e5e5;
	--gray-400: #dddddd;
	--gray-500: #a8a8a8;
	--gray-600: #8a8a8a;
	--gray-700: #666666;
	--gray-800: #555555;
	--gray-900: #333333;
}

.ecomm-page * { box-sizing: border-box; }
.ecomm-page { scroll-behavior: smooth; }

.ecomm-page a { color: var(--black); text-decoration: none; }
.ecomm-page a:hover { color: var(--gray-800); }
.ecomm-page img { max-width: 100%; display: block; }

.ecomm-page .wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }

.ecomm-page .btn {
	display: inline-block; border-radius: 999px; font-size: 15px; font-weight: 600; cursor: pointer;
	padding: 15px 30px; transition: transform .25s ease, background .25s ease; border: none; text-align: center;
}
.ecomm-page .btn-small { padding: 11px 22px; font-size: 14px; font-weight: 600; }
.ecomm-page .btn-primary { background: var(--accent); color: var(--white); }
.ecomm-page .btn-primary:hover { background: var(--accent-hover); color: var(--white); transform: translateY(-2px); }

/* Header */

.ecomm-page .site-header {
	position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.85);
	backdrop-filter: blur(14px); border-bottom: 1px solid rgba(17,17,17,0.06); box-shadow: 0 8px 30px -10px rgba(17,17,17,0.1);
}
.ecomm-page .header-inner { padding: 8px 32px; display: flex; align-items: center; justify-content: space-between; }
.ecomm-page .brand { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.ecomm-page .brand-logo { height: 112px; width: 112px; object-fit: contain; border-radius: 16px; transition: transform .3s ease; }
.ecomm-page .brand:hover .brand-logo { transform: scale(1.04); }
.ecomm-page .brand-name { display: none; }
.ecomm-page .desktop-nav { display: flex; align-items: center; gap: 6px; }
.ecomm-page .desktop-nav a { position: relative; font-size: 14.5px; font-weight: 500; color: var(--gray-800); padding: 9px 16px; border-radius: 999px; transition: color .2s ease, background .2s ease; }
.ecomm-page .desktop-nav a:hover { color: var(--accent); background: var(--gray-100); }
.ecomm-page .desktop-nav a.active { color: var(--black); font-weight: 700; background: var(--gray-100); }
.ecomm-page .header-inner .btn-primary { box-shadow: 0 6px 16px rgba(224,139,62,0.3); }
.ecomm-page .header-inner .btn-primary:hover { box-shadow: 0 10px 22px rgba(224,139,62,0.4); }

@media (max-width: 640px) {
	.ecomm-page .desktop-nav { display: none; }
	.ecomm-page .header-inner { padding: 14px 20px; }
	.ecomm-page .brand-logo { height: 176px; width: 176px; }
	.ecomm-page .site-header { border-radius: 0 0 24px 24px; }
	.ecomm-page { padding-bottom: 72px; }
	.ecomm-page .footer-brand img { height: 96px; width: 96px; border-radius: 16px; }
}

/* Footer */

.ecomm-page .site-footer { border-top: 1px solid var(--gray-200); margin-top: auto; }
.ecomm-page .footer-inner { padding: 56px 32px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 48px; } .ecomm-page .footer-content-row { display: contents; }
.ecomm-page .footer-brand { display: flex; justify-content: center; margin-bottom: 6px; }
.ecomm-page .footer-brand img { height: 192px; width: 192px; object-fit: contain; border-radius: 32px; }
.ecomm-page .footer-brand span { font-size: 18px; font-weight: 800; }
.ecomm-page .footer-tagline { font-size: 13.5px; color: var(--gray-800); max-width: 280px; line-height: 1.6; }
.ecomm-page .footer-cols { display: flex; gap: 64px; flex-wrap: wrap; }
.ecomm-page .footer-col { display: flex; flex-direction: column; gap: 10px; }
.ecomm-page .footer-col-title { font-size: 13px; font-weight: 700; color: var(--black); margin-bottom: 4px; }
.ecomm-page .footer-col a { font-size: 14px; color: var(--gray-700); }
.ecomm-page .footer-bottom { border-top: 1px solid var(--gray-200); padding: 20px 32px; text-align: center; font-size: 12.5px; color: #9a9a9a; }

/* Mobile tab bar */

.ecomm-page .tab-bar { display: none; }

@media (max-width: 640px) {
	.ecomm-page .tab-bar {
		display: flex; position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 60;
		background: rgba(255,255,255,0.92); backdrop-filter: blur(10px);
		border: 1px solid rgba(224,139,62,0.25); border-radius: 22px;
		box-shadow: 0 8px 28px rgba(0,0,0,0.14); padding: 10px 6px calc(8px + env(safe-area-inset-bottom));
	}
	.ecomm-page .tab-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--gray-600); font-size: 10px; font-weight: 600; }
	.ecomm-page .tab-item svg { width: 25px; height: 25px; stroke: var(--gray-600); stroke-width: 1.6; }
	.ecomm-page .tab-item.active { color: var(--black); }
	.ecomm-page .tab-item.active svg { stroke: var(--accent); }
	.ecomm-page .tab-bar button.tab-item { background: none; border: none; font-family: inherit; padding: 0; cursor: pointer; }
	.ecomm-page { padding-bottom: 88px; }
}
